Messages in this thread | | | Date | Fri, 11 Feb 2011 09:20:27 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: "slab: Fix missing DEBUG_SLAB last user" breaks ARM |
| |
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.
| |