On Thu, Sep 6, 2012 at 11:00 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > On Thu, Sep 6, 2012 at 10:45 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: >> On Thu, Sep 6, 2012 at 10:33 PM, Christoph Lameter <cl@xxxxxxxxx> wrote: >>> On Thu, 6 Sep 2012, Luck, Tony wrote: >>> >>>> r9 was computed as 32 + return value from a call to allocate_slab() >>>> >>>> So I think we are inside the inlined "inc_slabs_node()" call on line 1357 of mm/slub.c >>> >>> Ok that would mean its not related to object arrangement within the page >>> done by the allocator. How can a atomic_long value become misaligned? >>> >> >> Did the items in slab_err() got mixed (see below hunk from my revert-patch)? >> >> @@ -3133,7 +3139,7 @@ static void list_slab_objects(struct kmem_cache >> *s, struct page *page, >> sizeof(long), GFP_ATOMIC); >> if (!map) >> return; >> - slab_err(s, page, text, s->name); >> + slab_err(s, page, "%s", text); >> slab_lock(page); >> >> get_map(s, page, map); >> > > I am not a mm/slab expert, but checking [1]: > > diff --git a/mm/slub.c b/mm/slub.c > index 24aa362..724adea 100644 (file) > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -624,7 +624,7 @@ static void object_err(struct kmem_cache *s, > struct page *page, > print_trailer(s, page, object); > } > > -static void slab_err(struct kmem_cache *s, struct page *page, char *fmt, ...) > +static void slab_err(struct kmem_cache *s, struct page *page, const > char *fmt, ...) > { > va_list args; > char buf[100]; > @@ -3146,7 +3146,7 @@ static void list_slab_objects(struct kmem_cache > *s, struct page *page, > sizeof(long), GFP_ATOMIC); > if (!map) > return; > - slab_err(s, page, "%s", text); > + slab_err(s, page, text, s->name); > slab_lock(page); > > get_map(s, page, map); > > So, in slab_err() 4th item is "const char *fmt", so it should be instead...? > > - slab_err(s, page, "%s", text); > + slab_err(s, page, s->name, text); > > ( Untested ) > Forget that, wrong view on the parameter list of slab_err(). - Sedat - > - Sedat - > > [1] http://git.kernel.org/?p=linux/kernel/git/penberg/linux.git;a=commitdiff;h=945cf2b6199be70ff03102b9e642c3bb05d01de9 > >> - Sedat - >> >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-next" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html