linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Nick Piggin <npiggin@suse.de>
To: Christoph Lameter <cl@linux-foundation.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
	linux-mm@kvack.org, Matt Mackall <mpm@selenic.com>
Subject: Re: [S+Q 12/16] SLUB: Add SLAB style per cpu queueing
Date: Sat, 26 Jun 2010 12:32:00 +1000	[thread overview]
Message-ID: <20100626023200.GD29809@laptop> (raw)
In-Reply-To: <20100625212108.124809375@quilx.com>

On Fri, Jun 25, 2010 at 04:20:38PM -0500, Christoph Lameter wrote:
> This patch adds SLAB style cpu queueing and uses a new way for
>  managing objects in the slabs using bitmaps. It uses a percpu queue so that
> free operations can be properly buffered and a bitmap for managing the
> free/allocated state in the slabs. It uses slightly more memory
> (due to the need to place large bitmaps --sized a few words--in some
> slab pages) but in general does compete well in terms of space use.
> The storage format using bitmaps avoids the SLAB management structure that
> SLAB needs for each slab page and therefore the metadata is more compact
> and easily fits into a cacheline.
> 
> The SLAB scheme of not touching the object during management is adopted.
> SLUB can now efficiently free and allocate cache cold objects.

BTW. this was never the problem with SLUB, because SLQB didn't have
the big performance regression on tpcc. SLUB IIRC had to touch more
cachelines per operation.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-06-26  2:32 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-25 21:20 [S+Q 00/16] SLUB with Queueing beats SLAB in hackbench Christoph Lameter
2010-06-25 21:20 ` [S+Q 01/16] [PATCH] ipc/sem.c: Bugfix for semop() not reporting successful operation Christoph Lameter
2010-06-28  2:17   ` KAMEZAWA Hiroyuki
2010-06-28 16:45     ` Manfred Spraul
2010-06-28 23:58       ` KAMEZAWA Hiroyuki
2010-06-28 16:48   ` Pekka Enberg
2010-06-29 15:42     ` Christoph Lameter
2010-06-29 19:08       ` Andrew Morton
2010-06-30 19:38         ` Manfred Spraul
2010-06-30 19:51           ` Andrew Morton
2010-06-25 21:20 ` [S+Q 02/16] [PATCH 1/2] percpu: make @dyn_size always mean min dyn_size in first chunk init functions Christoph Lameter
2010-06-27  5:06   ` David Rientjes
2010-06-27  8:21     ` Tejun Heo
2010-06-27 16:57       ` [S+Q 02/16] [PATCH 1/2 UPDATED] " Tejun Heo
2010-06-27 19:25         ` David Rientjes
2010-06-27 19:24       ` [S+Q 02/16] [PATCH 1/2] " David Rientjes
2010-06-29 15:36     ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 03/16] [PATCH 2/2] percpu: allow limited allocation before slab is online Christoph Lameter
2010-06-25 21:20 ` [S+Q 04/16] slub: Use a constant for a unspecified node Christoph Lameter
2010-06-28  2:25   ` KAMEZAWA Hiroyuki
2010-06-29 15:38     ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 05/16] SLUB: Constants need UL Christoph Lameter
2010-06-26 23:31   ` David Rientjes
2010-06-28  2:27   ` KAMEZAWA Hiroyuki
2010-06-25 21:20 ` [S+Q 06/16] slub: Use kmem_cache flags to detect if slab is in debugging mode Christoph Lameter
2010-06-26 23:31   ` David Rientjes
2010-06-25 21:20 ` [S+Q 07/16] slub: discard_slab_unlock Christoph Lameter
2010-06-26 23:34   ` David Rientjes
2010-07-06 20:44     ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 08/16] slub: remove dynamic dma slab allocation Christoph Lameter
2010-06-26 23:52   ` David Rientjes
2010-06-29 15:31     ` Christoph Lameter
2010-06-28  2:33   ` KAMEZAWA Hiroyuki
2010-06-29 15:41     ` Christoph Lameter
2010-06-30  0:26       ` KAMEZAWA Hiroyuki
2010-06-25 21:20 ` [S+Q 09/16] [percpu] make allocpercpu usable during early boot Christoph Lameter
2010-06-26  8:10   ` Tejun Heo
2010-06-26 23:53     ` David Rientjes
2010-06-29 15:15     ` Christoph Lameter
2010-06-29 15:30       ` Tejun Heo
2010-07-06 20:41         ` Christoph Lameter
2010-06-26 23:38   ` David Rientjes
2010-06-29 15:26     ` Christoph Lameter
2010-06-28 17:03   ` Pekka Enberg
2010-06-29 15:45     ` Christoph Lameter
2010-07-01  6:23       ` Pekka Enberg
2010-07-06 14:32         ` Christoph Lameter
2010-07-31  9:39           ` Pekka Enberg
2010-06-25 21:20 ` [S+Q 10/16] slub: Remove static kmem_cache_cpu array for boot Christoph Lameter
2010-06-27  0:02   ` David Rientjes
2010-06-29 15:35     ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 11/16] slub: Dynamically size kmalloc cache allocations Christoph Lameter
2010-06-25 21:20 ` [S+Q 12/16] SLUB: Add SLAB style per cpu queueing Christoph Lameter
2010-06-26  2:32   ` Nick Piggin [this message]
2010-06-28 10:19     ` Christoph Lameter
2010-06-25 21:20 ` [S+Q 13/16] SLUB: Resize the new cpu queues Christoph Lameter
2010-06-25 21:20 ` [S+Q 14/16] SLUB: Get rid of useless function count_free() Christoph Lameter
2010-06-25 21:20 ` [S+Q 15/16] SLUB: Remove MAX_OBJS limitation Christoph Lameter
2010-06-25 21:20 ` [S+Q 16/16] slub: Drop allocator announcement Christoph Lameter
2010-06-26  2:24 ` [S+Q 00/16] SLUB with Queueing beats SLAB in hackbench Nick Piggin
2010-06-28  6:18   ` Pekka Enberg
2010-06-28 10:12     ` Christoph Lameter
2010-06-28 15:18       ` Pekka Enberg
2010-06-28 18:54         ` David Rientjes
2010-06-29 15:23           ` Christoph Lameter
2010-06-29 15:55             ` Mike Travis
2010-06-29 15:21         ` Christoph Lameter
2010-06-28 14:46     ` Matt Mackall

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=20100626023200.GD29809@laptop \
    --to=npiggin@suse.de \
    --cc=cl@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=mpm@selenic.com \
    --cc=penberg@cs.helsinki.fi \
    /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;
as well as URLs for NNTP newsgroup(s).