From: Christoph Lameter <clameter@sgi.com>
To: Nick Piggin <npiggin@suse.de>
Cc: Linux Memory Management List <linux-mm@kvack.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [rfc] SLQB: YASA
Date: Thu, 3 Apr 2008 12:12:57 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0804031200530.7265@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20080403072550.GC25932@wotan.suse.de>
On Thu, 3 Apr 2008, Nick Piggin wrote:
> I've been playing around with slab allocators because I'm concerned about
> the directions that SLUB is going in. I've come up so far with a working
> alternative implementation, which I have called SLQB (the remaining vowels
> are crap).
Hmm... Interesting stuff. I have toyed around with a lot of similar ideas
to add at least limited queuing to SLUB but the increased overhead /
complexity in the hot paths always killed these attempts. Well worth
pursuing and I could even imagine the queuing you are adding to be merged
to SLUB (or rename it to whatever else) if it does not impact performance
otherwise.
> What I have tried to concentrate on is:
> - Per CPU scalability, which is important for MC and MT CPUs.
> This is achieved by having per CPU queues of node local free and partial
> lists. Per node lists are used for off-node allocations.
Yeah that is similar to SLAB. The off node lists will require locks and
thus you run into similar issues with queue management as in SLAB. How do
you expire the objects and configure the queues?
> - Good performance with order-0 pages.
> I feel that order-0 allocations are the way to go and higher orders are not.
> This is achieved by using queues of pages. We still could* use higher order
> allocations, but it is not as important as SLUB.
If you want to go with order-0 pages then it would be good to first work
on the page allocator performance so that there is no need of buffering
order-0 allocations in the slab allocators. The buffering stuff for 4k
allocs that I had to add to SLUB in 2.6.25 and that likely concerns you
could go mostly away if the page allocator had competitive performance.
Higher orders are still likely a must in the future because it allows a
reduction of the metadata management overhead (pretty important for
filesystems f.e.). And the argument about faster processors compensating
for the increased effort to manage the metadata (page structs and such)
really does not cut it because memory speeds do not keep up nor does the
evolution of the locking algorithms / reclaim logic in the kernel.
next prev parent reply other threads:[~2008-04-03 19:15 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-03 7:25 Nick Piggin
2008-04-03 7:45 ` Pekka Enberg
2008-04-03 7:57 ` Nick Piggin
2008-04-03 8:13 ` Nick Piggin
2008-04-03 8:24 ` Pekka Enberg
2008-04-03 8:32 ` Nick Piggin
2008-04-03 8:17 ` KOSAKI Motohiro
2008-04-03 8:26 ` Nick Piggin
2008-04-03 8:33 ` KOSAKI Motohiro
2008-04-03 8:41 ` Andi Kleen
2008-04-03 14:23 ` Nick Piggin
2008-04-03 19:04 ` Luiz Fernando N. Capitulino
2008-04-03 19:12 ` Christoph Lameter [this message]
2008-04-08 11:57 ` Nick Piggin
2008-04-08 18:51 ` Luiz Fernando N. Capitulino
2008-04-09 2:10 ` Nick Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0804031200530.7265@schroedinger.engr.sgi.com \
--to=clameter@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®