All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Carstens <heiko.carstens@de.ibm.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org,
	Pekka Enberg <penberg@cs.helsinki.fi>
Subject: Re: [patch] slab: always follow arch requested alignments
Date: Sun, 23 Jul 2006 18:24:27 +0200	[thread overview]
Message-ID: <20060723162427.GA10553@osiris.ibm.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0607230558560.15651@schroedinger.engr.sgi.com>

On Sun, Jul 23, 2006 at 06:03:09AM -0700, Christoph Lameter wrote:
> On Sun, 23 Jul 2006, Heiko Carstens wrote:
> > > See kmem_cache_create():
> > >       /* 2) arch mandated alignment: disables debug if necessary */
> > >         if (ralign < ARCH_SLAB_MINALIGN) {
> > >                 ralign = ARCH_SLAB_MINALIGN;
> > >                 if (ralign > BYTES_PER_WORD)
> > >                         flags &= ~(SLAB_RED_ZONE | SLAB_STORE_USER);
> > >         }
> > 
> > That is because if kmem_cache_create gets called with SLAB_HWCACHE_ALIGN set
> > in flags then ralign will be greater or equal to ARCH_SLAB_MINALIGN:
> > 
> >         /* 1) arch recommendation: can be overridden for debug */ 
> >         if (flags & SLAB_HWCACHE_ALIGN) { 
> > 	        [...]
> >                 ralign = cache_line_size(); 
> > 	        [...]
> 
> Ok. Then you do not have a problem because ralign is greater than
> ARCH_SLAB_MINALIGN.
>  
> > Therefore the test above will be passed and SLAB_RED_ZONE and SLAB_STORE_USER
> > will stay in flags.
> > cache_line_size() will return 256 on s390.
> 
> Looks as if you would have the correct alignment then. I still do not 
> understand where the problem is since you want to align on an 8 byte 
> boundary.

CONFIG_DEBUG_SLAB is on. In step 4) we have align = ralign.
Still ok.
Next thing:

	if (flags & SLAB_RED_ZONE) {
		/* redzoning only works with word aligned caches */
		align = BYTES_PER_WORD;

Result: align is less than ARCH_SLAB_MINALIGN -> busted.
Same is true if SLAB_STORE_USER is set.
Therefore I masked them both out in my patch.

  reply	other threads:[~2006-07-23 16:26 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-22 11:06 [patch] slab: always follow arch requested alignments Heiko Carstens
2006-07-22 12:06 ` Pekka Enberg
2006-07-22 14:50 ` Christoph Lameter
2006-07-22 16:26   ` Heiko Carstens
2006-07-22 19:42     ` Christoph Lameter
2006-07-23  7:35       ` Heiko Carstens
2006-07-23 13:03         ` Christoph Lameter
2006-07-23 16:24           ` Heiko Carstens [this message]
2006-07-26  8:49             ` Heiko Carstens
2006-07-26  9:55               ` Pekka J Enberg
2006-07-26  8:50             ` [patch 1/2] slab: always consider caller mandated alignment Heiko Carstens
2006-07-26  8:50               ` Heiko Carstens, Heiko Carstens
2006-07-26  8:51             ` [patch 2/2] slab: always consider arch " Heiko Carstens
2006-07-26  8:51               ` Heiko Carstens, Heiko Carstens
2006-07-26 10:05               ` Pekka J Enberg
2006-07-26 10:05                 ` Pekka J Enberg
2006-07-26 10:13                 ` Heiko Carstens
2006-07-26 10:13                   ` Heiko Carstens
2006-07-26 10:37                   ` Pekka J Enberg
2006-07-26 10:37                     ` Pekka J Enberg
2006-07-26 10:52                     ` Heiko Carstens
2006-07-26 10:52                       ` Heiko Carstens
2006-07-26 11:16                       ` Pekka J Enberg
2006-07-26 11:16                         ` Pekka J Enberg
2006-07-26 11:26                         ` Heiko Carstens
2006-07-26 11:26                           ` Heiko Carstens
2006-07-26 18:06                         ` Manfred Spraul
2006-07-26 18:06                           ` Manfred Spraul
2006-07-26 18:19                           ` Christoph Lameter
2006-07-26 18:19                             ` Christoph Lameter
2006-07-26 18:45                             ` Manfred Spraul
2006-07-26 18:45                               ` Manfred Spraul
2006-07-26 18:59                               ` Christoph Lameter
2006-07-26 18:59                                 ` Christoph Lameter
2006-07-26 19:28                                 ` Manfred Spraul
2006-07-26 19:28                                   ` Manfred Spraul
2006-07-26 19:31                                   ` Christoph Lameter
2006-07-26 19:31                                     ` Christoph Lameter
2006-07-26 19:37                                     ` Manfred Spraul
2006-07-26 19:37                                       ` Manfred Spraul
2006-07-26 19:47                                       ` Christoph Lameter
2006-07-26 19:47                                         ` Christoph Lameter
2006-07-27  5:33                                         ` Pekka J Enberg
2006-07-27  5:33                                           ` Pekka J Enberg
2006-07-27  5:47                                           ` Pekka J Enberg
2006-07-27  5:47                                             ` Pekka J Enberg
2006-07-27  4:24                                     ` Pekka J Enberg
2006-07-27  4:24                                       ` Pekka J Enberg
2006-07-26 11:22     ` [patch] slab: always follow arch requested alignments Pekka Enberg
2006-07-26 11:29       ` Christoph Lameter
2006-07-26 11:32         ` Pekka J Enberg
2006-07-26 11:41           ` Christoph Lameter
2006-07-26 11:48             ` Pekka J Enberg
2006-07-26 11:49               ` Pekka J Enberg
2006-07-26 11:55                 ` Christoph Lameter
2006-07-26 12:05                   ` Pekka Enberg
2006-07-26 12:20                     ` Christoph Lameter
2006-07-26 12:31                       ` Pekka J Enberg
2006-07-26 15:24                         ` Christoph Lameter
2006-07-26 15:43                           ` Pekka Enberg
2006-07-26 16:25                             ` Christoph Lameter
2006-07-26 18:24                             ` Manfred Spraul
2006-07-26 18:28                               ` Christoph Lameter
2006-07-26 12:35                       ` Pekka J Enberg
2006-07-26 12:36                         ` Pekka J Enberg

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=20060723162427.GA10553@osiris.ibm.com \
    --to=heiko.carstens@de.ibm.com \
    --cc=akpm@osdl.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --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 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.