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 20:54:14 +0200 [thread overview]
Message-ID: <44E75E56.60905@colorfullife.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0608190941490.4872@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
>On Sat, 19 Aug 2006, Manfred Spraul wrote:
>
>
>>What about:
>>
>>if (unlikely(addr & (~(PAGE_SIZE-1))))
>> slabp=virt_to_page(addr)->pagefield;
>>else
>> slabp=addr & (~(PAGE_SIZE-1));
>>
>>
>
>Well this would not be working with the simple slab design that puts the
>first element at the page border to simplify alignment.
>
>And as we have just seen virt to page is mostly an address
>calculation in many configurations. I doubt that there would be a great
>advantage. Todays processors biggest cause for latencies are
>cacheline misses..
>
It involves table walking on discontigmem archs. "slabp=addr &
(~(PAGE_SIZE-1));" means no pointer chasing, and the access touches the
same page, i.e. definitively no TLB miss.
> Some arithmetic with addresses does not seem to
>be that important. Misaligning data in order to not put objects on such
>boundaries could be an issue.
>
> > Modify the kmalloc caches slightly and use non-power-of-2 cache sizes. Move
>
>
>>the kmalloc(PAGE_SIZE) users to gfp.
>>
>>
>
>Power of 2 cache sizes make the object align neatly to cacheline
>boundaries and make them fit tightly into a page.
>
>
IMHO not really an issue. 2kb-cache_line_size() also aligns perfectly.
--
Manfred
next prev parent reply other threads:[~2006-08-19 18:54 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
2006-08-19 16:46 ` Christoph Lameter
2006-08-19 18:54 ` Manfred Spraul [this message]
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=44E75E56.60905@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox