All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manfred Spraul <manfred@colorfullife.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Andrew Morton <akpm@osdl.org>,
	Andreas Gruenbacher <agruen@suse.de>,
	linux-kernel@vger.kernel.org
Subject: Re: slab-alignment-rework.patch in -mc
Date: Mon, 19 Apr 2004 18:42:36 +0200	[thread overview]
Message-ID: <4084017C.5080706@colorfullife.com> (raw)
In-Reply-To: <20040419162533.GR29954@dualathlon.random>

Andrea Arcangeli wrote:

>/mirror/kernel/people/akpm/patches/2.6/2.6.5/2.6.5-mc4/broken-out/slab-alignment-rework.patch
>
>I don't think this is right:
>
>  
>
>>-	if (flags & SLAB_HWCACHE_ALIGN) {
>>-		/* Need to adjust size so that objs are cache aligned. */
>>-		/* Small obj size, can get at least two per cache line. */
>>+	if (!align) {
>>+		/* Default alignment: compile time specified l1 cache size.
>>+		 * Except if an object is really small, then squeeze multiple
>>+		 * into one cacheline.
>>+		 */
>>+		align = cache_line_size();
>> 		while (size <= align/2)
>> 			align /= 2;
>>-		size = (size+align-1)&(~(align-1));
>> 	}
>>+	size = ALIGN(size, align);
>> 
>>    
>>
>
>I want anon-vma to really use only 12 bytes, period.
>
Then pass "4" as the align parameter to kmem_cache_create. That's the 
main point of the patch: it's now possible to explicitely specify the 
requested alignment. 32 for the 3rd level page tables, the optimal 
number for the pte_chains, etc.

> No best-guess must
>be made automatically by the slab code, rounding it to 16 bytes.
>
If you pass 0 as align to kmem_cache_create, then it's rounded to L2 
size. It's questionable if that's really the best thing - on 
uniprocessor, 16-byte might result is better performance - there is no 
risk of false sharing.

--
    Manfred


  reply	other threads:[~2004-04-19 16:44 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1082383751.6746.33.camel@f235.suse.de>
2004-04-19 16:25 ` slab-alignment-rework.patch in -mc Andrea Arcangeli
2004-04-19 16:42   ` Manfred Spraul [this message]
2004-04-20  0:26     ` Andrea Arcangeli
2004-04-20  7:24     ` Andrew Morton
2004-04-20 14:49       ` Andrea Arcangeli
2004-04-20 17:23         ` Manfred Spraul
2004-04-20 18:25           ` Andrew Morton
2004-04-20 18:52             ` Linus Torvalds
2004-04-21 17:22               ` Manfred Spraul
2004-04-21 21:46                 ` Andrew Morton
2004-04-20 18:53             ` Arjan van de Ven

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=4084017C.5080706@colorfullife.com \
    --to=manfred@colorfullife.com \
    --cc=agruen@suse.de \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    /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.