From: Manfred Spraul <manfred@colorfullife.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Pekka J Enberg <penberg@cs.helsinki.fi>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Martin Schwidefsky <schwidefsky@de.ibm.com>
Subject: Re: [patch 2/2] slab: always consider arch mandated alignment
Date: Wed, 26 Jul 2006 20:45:22 +0200 [thread overview]
Message-ID: <44C7B842.5060606@colorfullife.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0607261118001.6608@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
>On Wed, 26 Jul 2006, Manfred Spraul wrote:
>
>
>
>>Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
>>
>>
>
>Good bye to all those cacheline contentions that helped us find so many
>race conditions in the past if we switched on SLAB_DEBUG. I thought this
>was intentional?
>
>
>
Relax, align is nearly never set.
- kmalloc uses align==0, except if the architecture requests it
(ARCH_KMALLOC_MINALIGN not 0)
- on my i386 system, the following users explicitely use align:
* the pmd structure (4096: hardware requirement)
* the pgd structure (32 bytes: hardware requirement)
* the task structure (16 byte. fxsave)
* sigqueue, pid: both request 4 byte alignment (based on __alignof__()).
Doesn't affect debugging.
From the other mail:
>Thus the patch is correct, it's a bug in the slab allocator. If HWCACHE_ALIGN
>> is set, then the allocator ignores align or ARCH_SLAB_MINALIGN.
>
>
>
>But then Heiko does not want to set ARCH_SLAB_MINALIGN at all. This is not
>the issue we are discussing. In the DEBUG case he wants
>ARCH_KMALLOC_MINALIGN to be enforced even if ARCH_SLAB_MINALIGN is not
>set.
>
>
The kmalloc caches are allocated with
HWCACHE_ALIGN+ARCH_KMALLOC_MINALIGN. The logic in kmem_cache_create
didn't handle that case correctly.
On most architectures, ARCH_KMALLOC_MINALIGN is 0. Thus SLAB_DEBUG
redzones everything.
On s390, ARCH_KMALLOC_MINALIGN is 8. This disables redzoning.
Ok?
--
Manfred
WARNING: multiple messages have this Message-ID (diff)
From: Manfred Spraul <manfred@colorfullife.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Pekka J Enberg <penberg@cs.helsinki.fi>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Martin Schwidefsky <schwidefsky@de.ibm.com>
Subject: Re: [patch 2/2] slab: always consider arch mandated alignment
Date: Wed, 26 Jul 2006 20:45:22 +0200 [thread overview]
Message-ID: <44C7B842.5060606@colorfullife.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0607261118001.6608@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
>On Wed, 26 Jul 2006, Manfred Spraul wrote:
>
>
>
>>Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
>>
>>
>
>Good bye to all those cacheline contentions that helped us find so many
>race conditions in the past if we switched on SLAB_DEBUG. I thought this
>was intentional?
>
>
>
Relax, align is nearly never set.
- kmalloc uses align==0, except if the architecture requests it
(ARCH_KMALLOC_MINALIGN not 0)
- on my i386 system, the following users explicitely use align:
* the pmd structure (4096: hardware requirement)
* the pgd structure (32 bytes: hardware requirement)
* the task structure (16 byte. fxsave)
* sigqueue, pid: both request 4 byte alignment (based on __alignof__()).
Doesn't affect debugging.
From the other mail:
>Thus the patch is correct, it's a bug in the slab allocator. If HWCACHE_ALIGN
>> is set, then the allocator ignores align or ARCH_SLAB_MINALIGN.
>
>
>
>But then Heiko does not want to set ARCH_SLAB_MINALIGN at all. This is not
>the issue we are discussing. In the DEBUG case he wants
>ARCH_KMALLOC_MINALIGN to be enforced even if ARCH_SLAB_MINALIGN is not
>set.
>
>
The kmalloc caches are allocated with
HWCACHE_ALIGN+ARCH_KMALLOC_MINALIGN. The logic in kmem_cache_create
didn't handle that case correctly.
On most architectures, ARCH_KMALLOC_MINALIGN is 0. Thus SLAB_DEBUG
redzones everything.
On s390, ARCH_KMALLOC_MINALIGN is 8. This disables redzoning.
Ok?
--
Manfred
--
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>
next prev parent reply other threads:[~2006-07-26 18:45 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
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 [this message]
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=44C7B842.5060606@colorfullife.com \
--to=manfred@colorfullife.com \
--cc=akpm@osdl.org \
--cc=clameter@sgi.com \
--cc=heiko.carstens@de.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=penberg@cs.helsinki.fi \
--cc=schwidefsky@de.ibm.com \
/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.