Messages in this thread | | | Date | Fri, 11 Feb 2011 15:35:24 +0000 | From | Russell King <> | Subject | Re: "slab: Fix missing DEBUG_SLAB last user" breaks ARM |
| |
On Fri, Feb 11, 2011 at 09:20:27AM -0600, Christoph Lameter wrote: > On Fri, 11 Feb 2011, Russell King wrote: > > > On Fri, Feb 11, 2011 at 09:02:45AM +0200, Pekka Enberg wrote: > > > On Tue, Feb 8, 2011 at 5:02 PM, Christoph Lameter <cl@linux.com> wrote: > > > > Uhh.. That first hunk in commit 5c5e3b33b7cb959a401f823707bee006caadd76e > > > > looks wrong to me. ralign is usually a power of two and greater than > > > > alignof(unsigned long long). The & operation will result in 0 and never > > > > exempt any caches. > > > > > > > > diff --git a/mm/slab.c b/mm/slab.c > > > > index bac0f4f..525c664 100644 > > > > --- a/mm/slab.c > > > > +++ b/mm/slab.c > > > > @@ -2220,8 +2220,8 @@ kmem_cache_create (const char *name, size_t size, > > > > size_t align, > > > > if (ralign < align) { > > > > ralign = align; > > > > } > > > > - /* disable debug if necessary */ > > > > - if (ralign > __alignof__(unsigned long long)) > > > > + /* disable debug if not aligning with REDZONE_ALIGN */ > > > > + if (ralign & (__alignof__(unsigned long long) - 1)) > > > > flags &= ~(SLAB_RED_ZONE | SLAB_STORE_USER); > > > > /* > > > > * 4) Store it. > > > > > > > > > > > > Did you mean > > > > > > > > if (ralign > REDZONE_ALIGN) ... > > > > > > > > ? > > > > > > Ping. Any arm-capable tester out there that can verify this fix? OTOH, > > > since Shiyong Li hasn't showed up, I'm inclined to just revert the > > > commit... > > > > What fix? The above is a quote of the patch in 5c5e3b33. > > He was referring to the change of the if statement.
Replacing what with what?
if (ralign & (__alignof__(unsigned long long) - 1)) with if (ralign > __alignof__(unsigned long long)) or if (ralign > REDZONE_ALIGN)
? A patch is a wonderful way to describe the change to be tested.
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |