* Re: 2.6.23-rc1: known regressions with patches
2007-07-23 9:47 2.6.23-rc1: known regressions with patches Michal Piotrowski
@ 2007-07-23 10:25 ` Ingo Molnar
2007-07-23 22:59 ` Greg KH
` (2 subsequent siblings)
3 siblings, 0 replies; 19+ messages in thread
From: Ingo Molnar @ 2007-07-23 10:25 UTC (permalink / raw)
To: Michal Piotrowski
Cc: Linus Torvalds, Andrew Morton, LKML, Gabriel C, Stefan Richter,
Jan Engelhardt, Satyam Sharma, Tejun Heo, Greg Kroah-Hartman,
Kay Sievers, Cornelia Huck, Vitaly Bordug, Takashi Iwai,
linux-fsdevel, Doug Chapman, Vasily Tarasov, Thierry MERLE,
v4l-dvb-maintainer, Dwaine P. Garden, Mauro Carvalho Chehab,
Adrian Bunk
* Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:
> Subject : Regression with sys_time() speedup patch
> References : http://lkml.org/lkml/2007/7/20/205
> Last known good : ?
> Submitter : Takashi Iwai <tiwai@suse.de>
> Caused-By : ?
> Handled-By : Ingo Molnar <mingo@elte.hu>
> Patch : http://lkml.org/lkml/2007/7/20/219
> Status : patch available
this has been resolved in -rc1 already, by:
commit 2008220879af095d00ca27eb168a55c8595fbc0b
Ingo
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: 2.6.23-rc1: known regressions with patches
2007-07-23 9:47 2.6.23-rc1: known regressions with patches Michal Piotrowski
2007-07-23 10:25 ` Ingo Molnar
@ 2007-07-23 22:59 ` Greg KH
2007-07-24 21:57 ` Michal Piotrowski
2007-07-24 6:21 ` Tejun Heo
2007-07-26 9:10 ` [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches] Ingo Molnar
3 siblings, 1 reply; 19+ messages in thread
From: Greg KH @ 2007-07-23 22:59 UTC (permalink / raw)
To: Michal Piotrowski
Cc: Linus Torvalds, Andrew Morton, LKML, Gabriel C, Stefan Richter,
Jan Engelhardt, Satyam Sharma, Tejun Heo, Kay Sievers,
Cornelia Huck, Vitaly Bordug, Takashi Iwai, Ingo Molnar,
linux-fsdevel, Doug Chapman, Vasily Tarasov, Thierry MERLE,
v4l-dvb-maintainer, Dwaine P. Garden, Mauro Carvalho Chehab,
Adrian Bunk
On Mon, Jul 23, 2007 at 11:47:44AM +0200, Michal Piotrowski wrote:
> Unclassified
>
> Subject : kobject link failure
> References : http://lkml.org/lkml/2007/7/19/495
> Last known good : ?
This is caused by a patch that happened after 2.6.22 was released, so it
is a regression.
> Submitter : Jan Engelhardt <jengelh@linux01.gwdg.de>
> Caused-By : ?
> Handled-By : Cornelia Huck <cornelia.huck@de.ibm.com>
> Greg Kroah-Hartman <gregkh@suse.de>
> Patch : http://lkml.org/lkml/2007/7/20/143
> Status : patch available
I'll be sending Cornelia's patch to Linus within the week to fix this.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: 2.6.23-rc1: known regressions with patches
2007-07-23 22:59 ` Greg KH
@ 2007-07-24 21:57 ` Michal Piotrowski
0 siblings, 0 replies; 19+ messages in thread
From: Michal Piotrowski @ 2007-07-24 21:57 UTC (permalink / raw)
To: Greg KH
Cc: Linus Torvalds, Andrew Morton, LKML, Gabriel C, Stefan Richter,
Jan Engelhardt, Satyam Sharma, Tejun Heo, Kay Sievers,
Cornelia Huck, Vitaly Bordug, Takashi Iwai, Ingo Molnar,
linux-fsdevel, Doug Chapman, Vasily Tarasov, Thierry MERLE,
v4l-dvb-maintainer, Dwaine P. Garden, Mauro Carvalho Chehab,
Adrian Bunk
On 24/07/07, Greg KH <gregkh@suse.de> wrote:
> On Mon, Jul 23, 2007 at 11:47:44AM +0200, Michal Piotrowski wrote:
> > Unclassified
> >
> > Subject : kobject link failure
> > References : http://lkml.org/lkml/2007/7/19/495
> > Last known good : ?
>
> This is caused by a patch that happened after 2.6.22 was released, so it
> is a regression.
Yes, I know. "?" is a default value. When someone says that bug
appeared after 2.6.22-git7 I'm adding this information to "Last known
good".
>
> > Submitter : Jan Engelhardt <jengelh@linux01.gwdg.de>
> > Caused-By : ?
> > Handled-By : Cornelia Huck <cornelia.huck@de.ibm.com>
> > Greg Kroah-Hartman <gregkh@suse.de>
> > Patch : http://lkml.org/lkml/2007/7/20/143
> > Status : patch available
>
> I'll be sending Cornelia's patch to Linus within the week to fix this.
>
> thanks,
>
> greg k-h
>
Regards,
Michal
--
LOG
http://www.stardust.webpages.pl/log/
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: 2.6.23-rc1: known regressions with patches
2007-07-23 9:47 2.6.23-rc1: known regressions with patches Michal Piotrowski
2007-07-23 10:25 ` Ingo Molnar
2007-07-23 22:59 ` Greg KH
@ 2007-07-24 6:21 ` Tejun Heo
2007-07-26 9:10 ` [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches] Ingo Molnar
3 siblings, 0 replies; 19+ messages in thread
From: Tejun Heo @ 2007-07-24 6:21 UTC (permalink / raw)
To: Michal Piotrowski
Cc: Linus Torvalds, Andrew Morton, LKML, Gabriel C, Stefan Richter,
Jan Engelhardt, Satyam Sharma, Greg Kroah-Hartman, Kay Sievers,
Cornelia Huck, Vitaly Bordug, Takashi Iwai, Ingo Molnar,
linux-fsdevel, Doug Chapman, Vasily Tarasov, Thierry MERLE,
v4l-dvb-maintainer, Dwaine P. Garden, Mauro Carvalho Chehab,
Adrian Bunk
Michal Piotrowski wrote:
> Subject : Oops while modprobing phy fixed module
> References : http://lkml.org/lkml/2007/7/14/63
> Last known good : ?
> Submitter : Gabriel C <nix.or.die@googlemail.com>
> Caused-By : Tejun Heo <htejun@gmail.com>
> commit 3007e997de91ec59af39a3f9c91595b31ae6e08b
> Handled-By : Satyam Sharma <satyam.sharma@gmail.com>
> Tejun Heo <htejun@gmail.com>
> Vitaly Bordug <vitb@kernel.crashing.org>
> Patch1 : http://lkml.org/lkml/2007/7/18/506
> Status : patch available
Patch is in mainline. Commit a1da4dfe35bc36c3bc9716d995c85b7983c38a76.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-23 9:47 2.6.23-rc1: known regressions with patches Michal Piotrowski
` (2 preceding siblings ...)
2007-07-24 6:21 ` Tejun Heo
@ 2007-07-26 9:10 ` Ingo Molnar
2007-07-26 9:26 ` Peter Zijlstra
3 siblings, 1 reply; 19+ messages in thread
From: Ingo Molnar @ 2007-07-26 9:10 UTC (permalink / raw)
To: Michal Piotrowski; +Cc: Andrew Morton, Christoph Lameter, linux-kernel
there's a new regression:
SLUB does not seem to call debug_check_no_locks_freed() - hence on SLUB
we will not notice certain types of freeing races. (such as freeing an
object still locked and used on another CPU.) SLAB does this corretly.
Ingo
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 9:10 ` [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches] Ingo Molnar
@ 2007-07-26 9:26 ` Peter Zijlstra
2007-07-26 9:32 ` Peter Zijlstra
2007-07-26 18:04 ` Peter Zijlstra
0 siblings, 2 replies; 19+ messages in thread
From: Peter Zijlstra @ 2007-07-26 9:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: Michal Piotrowski, Andrew Morton, Christoph Lameter, linux-kernel
On Thu, 2007-07-26 at 11:10 +0200, Ingo Molnar wrote:
> there's a new regression:
>
> SLUB does not seem to call debug_check_no_locks_freed() - hence on SLUB
> we will not notice certain types of freeing races. (such as freeing an
> object still locked and used on another CPU.) SLAB does this corretly.
Does this help?
---
mm/slub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c
+++ linux-2.6/mm/slub.c
@@ -1131,6 +1131,7 @@ static void __free_slab(struct kmem_cach
slab_pad_check(s, page);
for_each_object(p, s, page_address(page))
check_object(s, page, p, 0);
+ ClearSlabDebug(page);
}
mod_zone_page_state(page_zone(page),
@@ -1169,7 +1170,6 @@ static void discard_slab(struct kmem_cac
atomic_long_dec(&n->nr_slabs);
reset_page_mapcount(page);
- ClearSlabDebug(page);
__ClearPageSlab(page);
free_slab(s, page);
}
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 9:26 ` Peter Zijlstra
@ 2007-07-26 9:32 ` Peter Zijlstra
2007-07-26 10:50 ` Ingo Molnar
2007-07-26 11:08 ` Pekka Enberg
2007-07-26 18:04 ` Peter Zijlstra
1 sibling, 2 replies; 19+ messages in thread
From: Peter Zijlstra @ 2007-07-26 9:32 UTC (permalink / raw)
To: Ingo Molnar
Cc: Michal Piotrowski, Andrew Morton, Christoph Lameter, linux-kernel
On Thu, 2007-07-26 at 11:26 +0200, Peter Zijlstra wrote:
> On Thu, 2007-07-26 at 11:10 +0200, Ingo Molnar wrote:
> > there's a new regression:
> >
> > SLUB does not seem to call debug_check_no_locks_freed() - hence on SLUB
> > we will not notice certain types of freeing races. (such as freeing an
> > object still locked and used on another CPU.) SLAB does this corretly.
Oh, nm, it doesn't call debug_check_no_locks_freed() at all.
This should do I guess.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
mm/slub.c | 1 +
1 file changed, 1 insertion(+)
Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c
+++ linux-2.6/mm/slub.c
@@ -1656,6 +1656,7 @@ static void __always_inline slab_free(st
unsigned long flags;
local_irq_save(flags);
+ debug_check_no_locks_freed(object, s->size);
if (likely(page == s->cpu_slab[smp_processor_id()] &&
!SlabDebug(page))) {
object[page->offset] = page->lockless_freelist;
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 9:32 ` Peter Zijlstra
@ 2007-07-26 10:50 ` Ingo Molnar
2007-07-26 17:47 ` Christoph Lameter
2007-07-26 11:08 ` Pekka Enberg
1 sibling, 1 reply; 19+ messages in thread
From: Ingo Molnar @ 2007-07-26 10:50 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Michal Piotrowski, Andrew Morton, Christoph Lameter, linux-kernel
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Thu, 2007-07-26 at 11:26 +0200, Peter Zijlstra wrote:
> > On Thu, 2007-07-26 at 11:10 +0200, Ingo Molnar wrote:
> > > there's a new regression:
> > >
> > > SLUB does not seem to call debug_check_no_locks_freed() - hence on SLUB
> > > we will not notice certain types of freeing races. (such as freeing an
> > > object still locked and used on another CPU.) SLAB does this corretly.
>
> Oh, nm, it doesn't call debug_check_no_locks_freed() at all.
>
> This should do I guess.
>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
yeah.
Acked-by: Ingo Molnar <mingo@elte.hu>
Ingo
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 9:32 ` Peter Zijlstra
2007-07-26 10:50 ` Ingo Molnar
@ 2007-07-26 11:08 ` Pekka Enberg
2007-07-26 11:11 ` Peter Zijlstra
2007-07-26 17:47 ` [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches] Christoph Lameter
1 sibling, 2 replies; 19+ messages in thread
From: Pekka Enberg @ 2007-07-26 11:08 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Ingo Molnar, Michal Piotrowski, Andrew Morton, Christoph Lameter,
linux-kernel
On 7/26/07, Peter Zijlstra <peterz@infradead.org> wrote:
> --- linux-2.6.orig/mm/slub.c
> +++ linux-2.6/mm/slub.c
> @@ -1656,6 +1656,7 @@ static void __always_inline slab_free(st
> unsigned long flags;
>
> local_irq_save(flags);
> + debug_check_no_locks_freed(object, s->size);
Although it doesn't matter much, I think this should be s->objsize. Christoph?
Pekka
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 11:08 ` Pekka Enberg
@ 2007-07-26 11:11 ` Peter Zijlstra
2007-07-26 17:51 ` Christoph Lameter
2007-07-26 17:47 ` [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches] Christoph Lameter
1 sibling, 1 reply; 19+ messages in thread
From: Peter Zijlstra @ 2007-07-26 11:11 UTC (permalink / raw)
To: Pekka Enberg
Cc: Ingo Molnar, Michal Piotrowski, Andrew Morton, Christoph Lameter,
linux-kernel
On Thu, 2007-07-26 at 14:08 +0300, Pekka Enberg wrote:
> On 7/26/07, Peter Zijlstra <peterz@infradead.org> wrote:
> > --- linux-2.6.orig/mm/slub.c
> > +++ linux-2.6/mm/slub.c
> > @@ -1656,6 +1656,7 @@ static void __always_inline slab_free(st
> > unsigned long flags;
> >
> > local_irq_save(flags);
> > + debug_check_no_locks_freed(object, s->size);
>
> Although it doesn't matter much, I think this should be s->objsize. Christoph?
Ah, I think you are right, s->size includes all the padding and
redzones.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 11:11 ` Peter Zijlstra
@ 2007-07-26 17:51 ` Christoph Lameter
2007-07-26 18:01 ` [PATCH] slub: add lock debugging check Peter Zijlstra
0 siblings, 1 reply; 19+ messages in thread
From: Christoph Lameter @ 2007-07-26 17:51 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Pekka Enberg, Ingo Molnar, Michal Piotrowski, Andrew Morton,
linux-kernel
Note that debug_check... adds more code to the slab_free hotpath which
will have a significant performance impact if lockdep is enabled.
Acked-by: Christoph Lameter <clameter@sgi.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH] slub: add lock debugging check
2007-07-26 17:51 ` Christoph Lameter
@ 2007-07-26 18:01 ` Peter Zijlstra
0 siblings, 0 replies; 19+ messages in thread
From: Peter Zijlstra @ 2007-07-26 18:01 UTC (permalink / raw)
To: Christoph Lameter
Cc: Pekka Enberg, Ingo Molnar, Michal Piotrowski, Andrew Morton,
linux-kernel
Ingo noticed that the SLUB code does include the lock debugging free
check.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Christoph Lameter <clameter@sgi.com>
---
mm/slub.c | 1 +
1 file changed, 1 insertion(+)
Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c
+++ linux-2.6/mm/slub.c
@@ -1656,6 +1656,7 @@ static void __always_inline slab_free(st
unsigned long flags;
local_irq_save(flags);
+ debug_check_no_locks_freed(object, s->objsize);
if (likely(page == s->cpu_slab[smp_processor_id()] &&
!SlabDebug(page))) {
object[page->offset] = page->lockless_freelist;
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 11:08 ` Pekka Enberg
2007-07-26 11:11 ` Peter Zijlstra
@ 2007-07-26 17:47 ` Christoph Lameter
1 sibling, 0 replies; 19+ messages in thread
From: Christoph Lameter @ 2007-07-26 17:47 UTC (permalink / raw)
To: Pekka Enberg
Cc: Peter Zijlstra, Ingo Molnar, Michal Piotrowski, Andrew Morton,
linux-kernel
On Thu, 26 Jul 2007, Pekka Enberg wrote:
> On 7/26/07, Peter Zijlstra <peterz@infradead.org> wrote:
> > --- linux-2.6.orig/mm/slub.c
> > +++ linux-2.6/mm/slub.c
> > @@ -1656,6 +1656,7 @@ static void __always_inline slab_free(st
> > unsigned long flags;
> >
> > local_irq_save(flags);
> > + debug_check_no_locks_freed(object, s->size);
>
> Although it doesn't matter much, I think this should be s->objsize. Christoph?
Correct. Locks can only be in the first objsize range of bytes.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 9:26 ` Peter Zijlstra
2007-07-26 9:32 ` Peter Zijlstra
@ 2007-07-26 18:04 ` Peter Zijlstra
2007-07-26 18:10 ` Christoph Lameter
1 sibling, 1 reply; 19+ messages in thread
From: Peter Zijlstra @ 2007-07-26 18:04 UTC (permalink / raw)
To: Ingo Molnar
Cc: Michal Piotrowski, Andrew Morton, Christoph Lameter, linux-kernel
On Thu, 2007-07-26 at 11:26 +0200, Peter Zijlstra wrote:
> ---
> mm/slub.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6/mm/slub.c
> ===================================================================
> --- linux-2.6.orig/mm/slub.c
> +++ linux-2.6/mm/slub.c
> @@ -1131,6 +1131,7 @@ static void __free_slab(struct kmem_cach
> slab_pad_check(s, page);
> for_each_object(p, s, page_address(page))
> check_object(s, page, p, 0);
> + ClearSlabDebug(page);
> }
>
> mod_zone_page_state(page_zone(page),
> @@ -1169,7 +1170,6 @@ static void discard_slab(struct kmem_cac
>
> atomic_long_dec(&n->nr_slabs);
> reset_page_mapcount(page);
> - ClearSlabDebug(page);
> __ClearPageSlab(page);
> free_slab(s, page);
> }
>
Christoph, how about this bit, it looks to me like we clear SlabDebug()
before we hit the last check in __free_slab().
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 18:04 ` Peter Zijlstra
@ 2007-07-26 18:10 ` Christoph Lameter
2007-07-26 18:17 ` Peter Zijlstra
0 siblings, 1 reply; 19+ messages in thread
From: Christoph Lameter @ 2007-07-26 18:10 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Ingo Molnar, Michal Piotrowski, Andrew Morton, linux-kernel
On Thu, 26 Jul 2007, Peter Zijlstra wrote:
> > Index: linux-2.6/mm/slub.c
> > ===================================================================
> > --- linux-2.6.orig/mm/slub.c
> > +++ linux-2.6/mm/slub.c
> > @@ -1131,6 +1131,7 @@ static void __free_slab(struct kmem_cach
> > slab_pad_check(s, page);
> > for_each_object(p, s, page_address(page))
> > check_object(s, page, p, 0);
> > + ClearSlabDebug(page);
> > }
> >
> > mod_zone_page_state(page_zone(page),
> > @@ -1169,7 +1170,6 @@ static void discard_slab(struct kmem_cac
> >
> > atomic_long_dec(&n->nr_slabs);
> > reset_page_mapcount(page);
> > - ClearSlabDebug(page);
> > __ClearPageSlab(page);
> > free_slab(s, page);
> > }
> >
>
> Christoph, how about this bit, it looks to me like we clear SlabDebug()
> before we hit the last check in __free_slab().
Looks right. Have you tried to run a kernel with this change and
"slub_debug"?
Acked-by: Christoph Lameter <clameter@sgi.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
2007-07-26 18:10 ` Christoph Lameter
@ 2007-07-26 18:17 ` Peter Zijlstra
2007-07-26 18:54 ` [PATCH] slub: fix bug in slub debug support Peter Zijlstra
0 siblings, 1 reply; 19+ messages in thread
From: Peter Zijlstra @ 2007-07-26 18:17 UTC (permalink / raw)
To: Christoph Lameter
Cc: Ingo Molnar, Michal Piotrowski, Andrew Morton, linux-kernel
On Thu, 2007-07-26 at 11:10 -0700, Christoph Lameter wrote:
> On Thu, 26 Jul 2007, Peter Zijlstra wrote:
>
> > > Index: linux-2.6/mm/slub.c
> > > ===================================================================
> > > --- linux-2.6.orig/mm/slub.c
> > > +++ linux-2.6/mm/slub.c
> > > @@ -1131,6 +1131,7 @@ static void __free_slab(struct kmem_cach
> > > slab_pad_check(s, page);
> > > for_each_object(p, s, page_address(page))
> > > check_object(s, page, p, 0);
> > > + ClearSlabDebug(page);
> > > }
> > >
> > > mod_zone_page_state(page_zone(page),
> > > @@ -1169,7 +1170,6 @@ static void discard_slab(struct kmem_cac
> > >
> > > atomic_long_dec(&n->nr_slabs);
> > > reset_page_mapcount(page);
> > > - ClearSlabDebug(page);
> > > __ClearPageSlab(page);
> > > free_slab(s, page);
> > > }
> > >
> >
> > Christoph, how about this bit, it looks to me like we clear SlabDebug()
> > before we hit the last check in __free_slab().
>
> Looks right. Have you tried to run a kernel with this change and
> "slub_debug"?
>
> Acked-by: Christoph Lameter <clameter@sgi.com>
Not something this clean, only my WIP slub-rt. I'll run this and do a
proper post of this fix.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH] slub: fix bug in slub debug support
2007-07-26 18:17 ` Peter Zijlstra
@ 2007-07-26 18:54 ` Peter Zijlstra
0 siblings, 0 replies; 19+ messages in thread
From: Peter Zijlstra @ 2007-07-26 18:54 UTC (permalink / raw)
To: Christoph Lameter
Cc: Ingo Molnar, Michal Piotrowski, Andrew Morton, linux-kernel
Seems to properly boot
---
We ClearSlabDebug() before the last SlabDebug() check. Clear it later.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Christoph Lameter <clameter@sgi.com>
---
mm/slub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c
+++ linux-2.6/mm/slub.c
@@ -1131,6 +1131,7 @@ static void __free_slab(struct kmem_cach
slab_pad_check(s, page);
for_each_object(p, s, page_address(page))
check_object(s, page, p, 0);
+ ClearSlabDebug(page);
}
mod_zone_page_state(page_zone(page),
@@ -1169,7 +1170,6 @@ static void discard_slab(struct kmem_cac
atomic_long_dec(&n->nr_slabs);
reset_page_mapcount(page);
- ClearSlabDebug(page);
__ClearPageSlab(page);
free_slab(s, page);
}
^ permalink raw reply [flat|nested] 19+ messages in thread