All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manfred Spraul <manfred@colorfullife.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Andi Kleen <ak@muc.de>,
	mpm@selenic.com, Marcelo Tosatti <marcelo@kvack.org>,
	linux-kernel@vger.kernel.org,
	Nick Piggin <nickpiggin@yahoo.com.au>, Andi Kleen <ak@suse.de>,
	Dave Chinner <dgc@sgi.com>
Subject: Re: [MODSLAB 3/7] A Kmalloc subsystem
Date: Sat, 19 Aug 2006 09:08:26 +0200	[thread overview]
Message-ID: <44E6B8EA.2010100@colorfullife.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0608170922030.24204@schroedinger.engr.sgi.com>

Christoph Lameter wrote:

>>If you have non-power-of-two caches, you could store the control data at
>>(addr&(~PAGE_SIZE)) - the lookup would be much faster. I wrote a patch a few
>>weeks ago, it's attached.
>>    
>>
>
>That would only work for slabs that use order 0 pages.
>
>  
>
Most slabs are order 0. Actually: there are only 6 slabs that are not 
order 0 (excluding the kmalloc caches) on my system.

What about:

if (unlikely(addr & (~(PAGE_SIZE-1))))
    slabp=virt_to_page(addr)->pagefield;
 else
    slabp=addr & (~(PAGE_SIZE-1));

Modify the kmalloc caches slightly and use non-power-of-2 cache sizes. 
Move the kmalloc(PAGE_SIZE) users to gfp.

 From my system:
good order 1 slab caches: (i.e.: forcing them to order 0 wastes some memory)
    biovec-128
    blkdev_queue
    mqueue_inode_cache
    RAWv6
    UDPv6
bogus order 1 caches: (i.e.: they could be order 0 without wasting memory)
    biovec-(256)

--
    Manfred

  reply	other threads:[~2006-08-19  7:09 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-16  2:22 [MODSLAB 0/7] A modular slab allocator V1 Christoph Lameter
2006-08-16  2:22 ` [MODSLAB 1/7] Extract allocpercpu from Slab Christoph Lameter
2006-08-16  2:22 ` [MODSLAB 2/7] Allocator Framework and misc features Christoph Lameter
2006-08-16  2:22 ` [MODSLAB 3/7] A Kmalloc subsystem Christoph Lameter
2006-08-16  7:43   ` Andi Kleen
2006-08-17  0:24     ` Christoph Lameter
2006-08-17  5:19       ` Manfred Spraul
2006-08-17 11:42         ` Andi Kleen
2006-08-17 16:26         ` Christoph Lameter
2006-08-19  7:08           ` Manfred Spraul [this message]
2006-08-19 16:46             ` Christoph Lameter
2006-08-19 18:54               ` Manfred Spraul
2006-08-19 19:17                 ` Christoph Lameter
2006-08-18  6:17         ` Christoph Lameter
2006-08-18  7:17           ` KAMEZAWA Hiroyuki
2006-08-18 16:58             ` Christoph Lameter
2006-08-18 18:19               ` KAMEZAWA Hiroyuki
2006-08-18 18:44                 ` Christoph Lameter
2006-08-18 19:13                   ` KAMEZAWA Hiroyuki
2006-08-18 19:19                     ` Christoph Lameter
2006-08-16  2:22 ` [MODSLAB 4/7] Slabulator: Emulate the existing Slab Layer Christoph Lameter
2006-08-16  2:23 ` [MODSLAB 5/7] A slab allocator: SLABIFIER Christoph Lameter
2006-08-16  2:23 ` [MODSLAB 6/7] A slab allocator: NUMA Slab allocator Christoph Lameter
2006-08-16  2:23 ` [MODSLAB 7/7] A slab allocator: Page " Christoph Lameter
2006-08-16  7:52 ` [MODSLAB 0/7] A modular slab allocator V1 Andi Kleen
2006-08-16  8:41   ` Matt Mackall
2006-08-16  9:38     ` David Chinner
2006-08-16 15:08     ` Christoph Lameter
2006-08-16 15:05   ` Christoph Lameter
2006-08-16  8:12 ` David Chinner
2006-08-16  8:32   ` Andi Kleen
2006-08-16  9:18     ` David Chinner
2006-08-16 15:06   ` Christoph Lameter
2006-08-16 16:15 ` Manfred Spraul
2006-08-16 21:49   ` Christoph Lameter
2006-08-16 22:16   ` Christoph Lameter
2006-08-16 22:34   ` Christoph Lameter
2006-08-16 22:45     ` Christoph Lameter

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=44E6B8EA.2010100@colorfullife.com \
    --to=manfred@colorfullife.com \
    --cc=ak@muc.de \
    --cc=ak@suse.de \
    --cc=clameter@sgi.com \
    --cc=dgc@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@kvack.org \
    --cc=mpm@selenic.com \
    --cc=nickpiggin@yahoo.com.au \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.