* 2.6.21-rc7-mm1 on test.kernel.org
@ 2007-04-24 20:06 Andrew Morton
2007-04-24 20:21 ` Christoph Lameter
` (2 more replies)
0 siblings, 3 replies; 32+ messages in thread
From: Andrew Morton @ 2007-04-24 20:06 UTC (permalink / raw)
To: linux-mm; +Cc: Andy Whitcroft, Christoph Lameter
An amd64 machine is crashing badly.
http://test.kernel.org/abat/84767/debug/console.log
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 308k freed
INIT: version 2.86 booting
Bad page state in process 'init'
page:ffff81007e492628 flags:0x0100000000000000 mapping:0000000000000000 mapcount:0 count:1
Trying to fix it up, but a reboot is needed
Backtrace:
Call Trace:
[<ffffffff80250d3c>] bad_page+0x74/0x10d
[<ffffffff80253090>] free_hot_cold_page+0x8d/0x172
[<ffffffff802531cb>] free_hot_page+0xb/0xd
[<ffffffff8025a9b7>] free_pgd_range+0x274/0x467
[<ffffffff8025ac2a>] free_pgtables+0x80/0x8f
[<ffffffff8026139c>] exit_mmap+0x90/0x11a
[<ffffffff802270dd>] mmput+0x29/0x98
Bad page state in process 'hotplug'
page:ffff81017e458bb0 flags:0x0a00000000000000 mapping:0000000000000000 mapcount:0 count:1
Trying to fix it up, but a reboot is needed
Backtrace:
Call Trace:
[<ffffffff80250d3c>] bad_page+0x74/0x10d
[<ffffffff80253090>] free_hot_cold_page+0x8d/0x172
[<ffffffff802531cb>] free_hot_page+0xb/0xd
[<ffffffff80227074>] __mmdrop+0x68/0xa8
[<ffffffff80222911>] schedule_tail+0x48/0x86
[<ffffffff8020960c>] ret_from_fork+0xc/0x25
So free_pgd_range() is freeing a refcount=1 page. Can anyone see what
might be causing this? The quicklist code impacts this area more than
anything else..
Naturally, I can't reproduce it (no amd64 boxen). A bisection search would
be wonderful.
--
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>
^ permalink raw reply [flat|nested] 32+ messages in thread* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:06 2.6.21-rc7-mm1 on test.kernel.org Andrew Morton @ 2007-04-24 20:21 ` Christoph Lameter 2007-04-24 20:27 ` Andrew Morton 2007-04-24 22:27 ` Badari Pulavarty 2007-04-24 23:59 ` Badari Pulavarty 2 siblings, 1 reply; 32+ messages in thread From: Christoph Lameter @ 2007-04-24 20:21 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Andrew Morton wrote: > Naturally, I can't reproduce it (no amd64 boxen). A bisection search would > be wonderful. Cannot compile a UP x86_64 kernel LD arch/x86_64/kernel/pcspeaker.o LD arch/x86_64/kernel/built-in.o AS arch/x86_64/kernel/head.o CC arch/x86_64/kernel/head64.o arch/x86_64/kernel/head64.c: In function 'x86_64_start_kernel': arch/x86_64/kernel/head64.c:70: error: size of array 'type name' is negative make[1]: *** [arch/x86_64/kernel/head64.o] Error 1 make: *** [arch/x86_64/kernel] Error 2 -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:21 ` Christoph Lameter @ 2007-04-24 20:27 ` Andrew Morton 2007-04-24 20:32 ` Christoph Lameter 0 siblings, 1 reply; 32+ messages in thread From: Andrew Morton @ 2007-04-24 20:27 UTC (permalink / raw) To: Christoph Lameter; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007 13:21:25 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > On Tue, 24 Apr 2007, Andrew Morton wrote: > > > Naturally, I can't reproduce it (no amd64 boxen). A bisection search would > > be wonderful. > > Cannot compile a UP x86_64 kernel > > LD arch/x86_64/kernel/pcspeaker.o > LD arch/x86_64/kernel/built-in.o > AS arch/x86_64/kernel/head.o > CC arch/x86_64/kernel/head64.o > arch/x86_64/kernel/head64.c: In function 'x86_64_start_kernel': > arch/x86_64/kernel/head64.c:70: error: size of array 'type name' is > negative That's a BUILD_BUG_ON. Check the source... /* * Make sure kernel is aligned to 2MB address. Catching it at compile * time is better. Change your config file and compile the kernel * for a 2MB aligned address (CONFIG_PHYSICAL_START) */ BUILD_BUG_ON(CONFIG_PHYSICAL_START & (__KERNEL_ALIGN - 1)); You need to change your CONFIG_PHYSICAL_START so it is a multiple of 2MB. (The test.kernel.org config uses SMP?) -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:27 ` Andrew Morton @ 2007-04-24 20:32 ` Christoph Lameter 2007-04-24 20:43 ` Andrew Morton 0 siblings, 1 reply; 32+ messages in thread From: Christoph Lameter @ 2007-04-24 20:32 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Andrew Morton wrote: > On Tue, 24 Apr 2007 13:21:25 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > > > On Tue, 24 Apr 2007, Andrew Morton wrote: > > > > > Naturally, I can't reproduce it (no amd64 boxen). A bisection search would > > > be wonderful. > > > > Cannot compile a UP x86_64 kernel > > > > LD arch/x86_64/kernel/pcspeaker.o > > LD arch/x86_64/kernel/built-in.o > > AS arch/x86_64/kernel/head.o > > CC arch/x86_64/kernel/head64.o > > arch/x86_64/kernel/head64.c: In function 'x86_64_start_kernel': > > arch/x86_64/kernel/head64.c:70: error: size of array 'type name' is > > negative > > That's a BUILD_BUG_ON. Check the source... > > > /* > * Make sure kernel is aligned to 2MB address. Catching it at compile > * time is better. Change your config file and compile the kernel > * for a 2MB aligned address (CONFIG_PHYSICAL_START) > */ > BUILD_BUG_ON(CONFIG_PHYSICAL_START & (__KERNEL_ALIGN - 1)); > > You need to change your CONFIG_PHYSICAL_START so it is a multiple of 2MB. ???? My old .config wont work anymore. > (The test.kernel.org config uses SMP?) Also broke with SMP. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:32 ` Christoph Lameter @ 2007-04-24 20:43 ` Andrew Morton 2007-04-24 20:52 ` Christoph Lameter 0 siblings, 1 reply; 32+ messages in thread From: Andrew Morton @ 2007-04-24 20:43 UTC (permalink / raw) To: Christoph Lameter; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007 13:32:32 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > On Tue, 24 Apr 2007, Andrew Morton wrote: > > > On Tue, 24 Apr 2007 13:21:25 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > > > > > On Tue, 24 Apr 2007, Andrew Morton wrote: > > > > > > > Naturally, I can't reproduce it (no amd64 boxen). A bisection search would > > > > be wonderful. > > > > > > Cannot compile a UP x86_64 kernel > > > > > > LD arch/x86_64/kernel/pcspeaker.o > > > LD arch/x86_64/kernel/built-in.o > > > AS arch/x86_64/kernel/head.o > > > CC arch/x86_64/kernel/head64.o > > > arch/x86_64/kernel/head64.c: In function 'x86_64_start_kernel': > > > arch/x86_64/kernel/head64.c:70: error: size of array 'type name' is > > > negative > > > > That's a BUILD_BUG_ON. Check the source... > > > > > > /* > > * Make sure kernel is aligned to 2MB address. Catching it at compile > > * time is better. Change your config file and compile the kernel > > * for a 2MB aligned address (CONFIG_PHYSICAL_START) > > */ > > BUILD_BUG_ON(CONFIG_PHYSICAL_START & (__KERNEL_ALIGN - 1)); > > > > You need to change your CONFIG_PHYSICAL_START so it is a multiple of 2MB. > > ???? My old .config wont work anymore. kexec requries 2MB alignment. I think your old config would have just crashed. Now you got told about it at compile time. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:43 ` Andrew Morton @ 2007-04-24 20:52 ` Christoph Lameter 2007-04-24 21:12 ` Andy Whitcroft 2007-04-24 21:18 ` Andrew Morton 0 siblings, 2 replies; 32+ messages in thread From: Christoph Lameter @ 2007-04-24 20:52 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Andrew Morton wrote: > kexec requries 2MB alignment. I think your old config would have just > crashed. Now you got told about it at compile time. Old config worked great so far. I compiled and booted 2.6.21-rc7-mm1 just fine. Nothing special apart from the usual problem with serial not accepting characters that we had for awhile now. Could we get a .config? -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:52 ` Christoph Lameter @ 2007-04-24 21:12 ` Andy Whitcroft 2007-04-24 21:18 ` Andrew Morton 1 sibling, 0 replies; 32+ messages in thread From: Andy Whitcroft @ 2007-04-24 21:12 UTC (permalink / raw) To: Christoph Lameter; +Cc: Andrew Morton, linux-mm Christoph Lameter wrote: > On Tue, 24 Apr 2007, Andrew Morton wrote: > >> kexec requries 2MB alignment. I think your old config would have just >> crashed. Now you got told about it at compile time. > > Old config worked great so far. > > I compiled and booted 2.6.21-rc7-mm1 just fine. Nothing special apart from > the usual problem with serial not accepting characters that we had for > awhile now. > > Could we get a .config? http://test.kernel.org/abat/84767/build/dotconfig -apw -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:52 ` Christoph Lameter 2007-04-24 21:12 ` Andy Whitcroft @ 2007-04-24 21:18 ` Andrew Morton 2007-04-24 21:30 ` Christoph Lameter 1 sibling, 1 reply; 32+ messages in thread From: Andrew Morton @ 2007-04-24 21:18 UTC (permalink / raw) To: Christoph Lameter; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007 13:52:44 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > On Tue, 24 Apr 2007, Andrew Morton wrote: > > > kexec requries 2MB alignment. I think your old config would have just > > crashed. Now you got told about it at compile time. > > Old config worked great so far. Only if you don't use sata, scsi or wireless. They break oldconfig regularly. > I compiled and booted 2.6.21-rc7-mm1 just fine. uh. me too :( > Nothing special apart from > the usual problem with serial not accepting characters that we had for > awhile now. I wasn't aware of that one. > Could we get a .config? test.kernel.org configs are subtly hidden on the front page. Go to test.kernel.org, click on the "amd64" or "numaq" links in the title row there. The offending machine is elm3b6. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 21:18 ` Andrew Morton @ 2007-04-24 21:30 ` Christoph Lameter 2007-04-24 21:36 ` Andrew Morton 0 siblings, 1 reply; 32+ messages in thread From: Christoph Lameter @ 2007-04-24 21:30 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Andrew Morton wrote: > > Could we get a .config? > > test.kernel.org configs are subtly hidden on the front page. Go to > test.kernel.org, click on the "amd64" or "numaq" links in the title row > there. > > The offending machine is elm3b6. My x86_64 box boots fine with the indicated .config. Hardware related? -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 21:30 ` Christoph Lameter @ 2007-04-24 21:36 ` Andrew Morton 2007-04-24 21:46 ` Andy Whitcroft 2007-04-24 21:53 ` Christoph Lameter 0 siblings, 2 replies; 32+ messages in thread From: Andrew Morton @ 2007-04-24 21:36 UTC (permalink / raw) To: Christoph Lameter; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007 14:30:16 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > On Tue, 24 Apr 2007, Andrew Morton wrote: > > > > Could we get a .config? > > > > test.kernel.org configs are subtly hidden on the front page. Go to > > test.kernel.org, click on the "amd64" or "numaq" links in the title row > > there. > > > > The offending machine is elm3b6. > > My x86_64 box boots fine with the indicated .config. So do both of mine. > Hardware related? Well it's AMD64, presumably real NUMA. Maybe try numa=fake=4? -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 21:36 ` Andrew Morton @ 2007-04-24 21:46 ` Andy Whitcroft 2007-04-25 0:16 ` Andy Whitcroft 2007-04-24 21:53 ` Christoph Lameter 1 sibling, 1 reply; 32+ messages in thread From: Andy Whitcroft @ 2007-04-24 21:46 UTC (permalink / raw) To: Andrew Morton; +Cc: Christoph Lameter, linux-mm Andrew Morton wrote: > On Tue, 24 Apr 2007 14:30:16 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > >> On Tue, 24 Apr 2007, Andrew Morton wrote: >> >>>> Could we get a .config? >>> test.kernel.org configs are subtly hidden on the front page. Go to >>> test.kernel.org, click on the "amd64" or "numaq" links in the title row >>> there. >>> >>> The offending machine is elm3b6. >> My x86_64 box boots fine with the indicated .config. > > So do both of mine. > >> Hardware related? > > Well it's AMD64, presumably real NUMA. Maybe try numa=fake=4? Yep real NUMA box. Will try and get hold of the box to test. -apw -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 21:46 ` Andy Whitcroft @ 2007-04-25 0:16 ` Andy Whitcroft 2007-04-25 0:34 ` Badari Pulavarty 0 siblings, 1 reply; 32+ messages in thread From: Andy Whitcroft @ 2007-04-25 0:16 UTC (permalink / raw) To: Andrew Morton, Christoph Lameter; +Cc: Andy Whitcroft, linux-mm Andy Whitcroft wrote: > Andrew Morton wrote: >> On Tue, 24 Apr 2007 14:30:16 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: >> >>> On Tue, 24 Apr 2007, Andrew Morton wrote: >>> >>>>> Could we get a .config? >>>> test.kernel.org configs are subtly hidden on the front page. Go to >>>> test.kernel.org, click on the "amd64" or "numaq" links in the title row >>>> there. >>>> >>>> The offending machine is elm3b6. >>> My x86_64 box boots fine with the indicated .config. >> So do both of mine. >> >>> Hardware related? >> Well it's AMD64, presumably real NUMA. Maybe try numa=fake=4? > > Yep real NUMA box. Will try and get hold of the box to test. > > -apw git bisect points to: quicklist-support-for-x86_64 Reverting just this patch sorts this problem on the x86_64. -apw -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 0:16 ` Andy Whitcroft @ 2007-04-25 0:34 ` Badari Pulavarty 2007-04-25 0:44 ` Andy Whitcroft 2007-04-25 6:39 ` Christoph Lameter 0 siblings, 2 replies; 32+ messages in thread From: Badari Pulavarty @ 2007-04-25 0:34 UTC (permalink / raw) To: Andy Whitcroft; +Cc: Andrew Morton, Christoph Lameter, linux-mm On Wed, 2007-04-25 at 01:16 +0100, Andy Whitcroft wrote: > Andy Whitcroft wrote: > > Andrew Morton wrote: > >> On Tue, 24 Apr 2007 14:30:16 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > >> > >>> On Tue, 24 Apr 2007, Andrew Morton wrote: > >>> > >>>>> Could we get a .config? > >>>> test.kernel.org configs are subtly hidden on the front page. Go to > >>>> test.kernel.org, click on the "amd64" or "numaq" links in the title row > >>>> there. > >>>> > >>>> The offending machine is elm3b6. > >>> My x86_64 box boots fine with the indicated .config. > >> So do both of mine. > >> > >>> Hardware related? > >> Well it's AMD64, presumably real NUMA. Maybe try numa=fake=4? > > > > Yep real NUMA box. Will try and get hold of the box to test. > > > > -apw > > git bisect points to: > > quicklist-support-for-x86_64 > > Reverting just this patch sorts this problem on the x86_64. Hmm.. I narrowed it further down to .. quicklists-for-page-table-pages-avoid-useless-virt_to_page- conversion.patch Andy, can you try backing out only this and enable QUICK_LIST on your machine ? Thanks, Badari -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 0:34 ` Badari Pulavarty @ 2007-04-25 0:44 ` Andy Whitcroft 2007-04-25 1:03 ` Badari Pulavarty 2007-04-25 6:39 ` Christoph Lameter 1 sibling, 1 reply; 32+ messages in thread From: Andy Whitcroft @ 2007-04-25 0:44 UTC (permalink / raw) To: Badari Pulavarty; +Cc: Andrew Morton, Christoph Lameter, linux-mm Badari Pulavarty wrote: > On Wed, 2007-04-25 at 01:16 +0100, Andy Whitcroft wrote: >> Andy Whitcroft wrote: >>> Andrew Morton wrote: >>>> On Tue, 24 Apr 2007 14:30:16 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: >>>> >>>>> On Tue, 24 Apr 2007, Andrew Morton wrote: >>>>> >>>>>>> Could we get a .config? >>>>>> test.kernel.org configs are subtly hidden on the front page. Go to >>>>>> test.kernel.org, click on the "amd64" or "numaq" links in the title row >>>>>> there. >>>>>> >>>>>> The offending machine is elm3b6. >>>>> My x86_64 box boots fine with the indicated .config. >>>> So do both of mine. >>>> >>>>> Hardware related? >>>> Well it's AMD64, presumably real NUMA. Maybe try numa=fake=4? >>> Yep real NUMA box. Will try and get hold of the box to test. >>> >>> -apw >> git bisect points to: >> >> quicklist-support-for-x86_64 >> >> Reverting just this patch sorts this problem on the x86_64. > > Hmm.. I narrowed it further down to .. > > quicklists-for-page-table-pages-avoid-useless-virt_to_page- > conversion.patch > > Andy, can you try backing out only this and enable QUICK_LIST > on your machine ? Yep confirmed that reverting that one is enough to fix this machine. -apw -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 0:44 ` Andy Whitcroft @ 2007-04-25 1:03 ` Badari Pulavarty 0 siblings, 0 replies; 32+ messages in thread From: Badari Pulavarty @ 2007-04-25 1:03 UTC (permalink / raw) To: Andy Whitcroft; +Cc: Andrew Morton, Christoph Lameter, linux-mm On Wed, 2007-04-25 at 01:44 +0100, Andy Whitcroft wrote: > Badari Pulavarty wrote: > > On Wed, 2007-04-25 at 01:16 +0100, Andy Whitcroft wrote: > >> Andy Whitcroft wrote: > >>> Andrew Morton wrote: > >>>> On Tue, 24 Apr 2007 14:30:16 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > >>>> > >>>>> On Tue, 24 Apr 2007, Andrew Morton wrote: > >>>>> > >>>>>>> Could we get a .config? > >>>>>> test.kernel.org configs are subtly hidden on the front page. Go to > >>>>>> test.kernel.org, click on the "amd64" or "numaq" links in the title row > >>>>>> there. > >>>>>> > >>>>>> The offending machine is elm3b6. > >>>>> My x86_64 box boots fine with the indicated .config. > >>>> So do both of mine. > >>>> > >>>>> Hardware related? > >>>> Well it's AMD64, presumably real NUMA. Maybe try numa=fake=4? > >>> Yep real NUMA box. Will try and get hold of the box to test. > >>> > >>> -apw > >> git bisect points to: > >> > >> quicklist-support-for-x86_64 > >> > >> Reverting just this patch sorts this problem on the x86_64. > > > > Hmm.. I narrowed it further down to .. > > > > quicklists-for-page-table-pages-avoid-useless-virt_to_page- > > conversion.patch > > > > Andy, can you try backing out only this and enable QUICK_LIST > > on your machine ? > > Yep confirmed that reverting that one is enough to fix this machine. > > -apw Here is the patch to fix it (against -mm) ? Works on my machine :) Thanks, Badari Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> include/linux/quicklist.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux-2.6.21-rc7/include/linux/quicklist.h =================================================================== --- linux-2.6.21-rc7.orig/include/linux/quicklist.h 2007-04-24 19:10:09.000000000 -0700 +++ linux-2.6.21-rc7/include/linux/quicklist.h 2007-04-24 19:10:57.000000000 -0700 @@ -61,7 +61,8 @@ static inline void __quicklist_free(int if (unlikely(nid != numa_node_id())) { if (dtor) dtor(p); - free_hot_page(page); + if (put_page_testzero(page)) + free_hot_page(page); return; } -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 0:34 ` Badari Pulavarty 2007-04-25 0:44 ` Andy Whitcroft @ 2007-04-25 6:39 ` Christoph Lameter 2007-04-25 8:21 ` Andy Whitcroft 1 sibling, 1 reply; 32+ messages in thread From: Christoph Lameter @ 2007-04-25 6:39 UTC (permalink / raw) To: Badari Pulavarty; +Cc: Andy Whitcroft, Andrew Morton, linux-mm On Tue, 24 Apr 2007, Badari Pulavarty wrote: > quicklists-for-page-table-pages-avoid-useless-virt_to_page- > conversion.patch > > Andy, can you try backing out only this and enable QUICK_LIST > on your machine ? Ahh. Right..... The free that we switched to there to avoid the virt_to_page conversion does not decrement the refcount and thus is not equivalent. Does this patch fix it? --- include/linux/quicklist.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6.21-rc7-mm1/include/linux/quicklist.h =================================================================== --- linux-2.6.21-rc7-mm1.orig/include/linux/quicklist.h 2007-04-24 23:35:11.000000000 -0700 +++ linux-2.6.21-rc7-mm1/include/linux/quicklist.h 2007-04-24 23:35:59.000000000 -0700 @@ -61,7 +61,7 @@ static inline void __quicklist_free(int if (unlikely(nid != numa_node_id())) { if (dtor) dtor(p); - free_hot_page(page); + __free_page(page); return; } -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 6:39 ` Christoph Lameter @ 2007-04-25 8:21 ` Andy Whitcroft 2007-04-25 8:40 ` Andrew Morton 0 siblings, 1 reply; 32+ messages in thread From: Andy Whitcroft @ 2007-04-25 8:21 UTC (permalink / raw) To: Christoph Lameter; +Cc: Badari Pulavarty, Andrew Morton, linux-mm Christoph Lameter wrote: > On Tue, 24 Apr 2007, Badari Pulavarty wrote: > >> quicklists-for-page-table-pages-avoid-useless-virt_to_page- >> conversion.patch >> >> Andy, can you try backing out only this and enable QUICK_LIST >> on your machine ? > > Ahh. Right..... The free that we switched to there to avoid the > virt_to_page conversion does not decrement the refcount and thus > is not equivalent. > > Does this patch fix it? > > --- > include/linux/quicklist.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: linux-2.6.21-rc7-mm1/include/linux/quicklist.h > =================================================================== > --- linux-2.6.21-rc7-mm1.orig/include/linux/quicklist.h 2007-04-24 23:35:11.000000000 -0700 > +++ linux-2.6.21-rc7-mm1/include/linux/quicklist.h 2007-04-24 23:35:59.000000000 -0700 > @@ -61,7 +61,7 @@ static inline void __quicklist_free(int > if (unlikely(nid != numa_node_id())) { > if (dtor) > dtor(p); > - free_hot_page(page); > + __free_page(page); > return; > } Confirmed, this fixes the machine. -apw -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 8:21 ` Andy Whitcroft @ 2007-04-25 8:40 ` Andrew Morton 2007-04-25 15:15 ` Christoph Lameter 0 siblings, 1 reply; 32+ messages in thread From: Andrew Morton @ 2007-04-25 8:40 UTC (permalink / raw) To: Andy Whitcroft; +Cc: Christoph Lameter, Badari Pulavarty, linux-mm On Wed, 25 Apr 2007 09:21:36 +0100 Andy Whitcroft <apw@shadowen.org> wrote: > > if (unlikely(nid != numa_node_id())) { > > if (dtor) > > dtor(p); > > - free_hot_page(page); > > + __free_page(page); > > return; > > } > > Confirmed, this fixes the machine. OK, thanks guys - another one for the hot-fixes directory. Do we know where the extra refcount on that page is coming from? -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 8:40 ` Andrew Morton @ 2007-04-25 15:15 ` Christoph Lameter 0 siblings, 0 replies; 32+ messages in thread From: Christoph Lameter @ 2007-04-25 15:15 UTC (permalink / raw) To: Andrew Morton; +Cc: Andy Whitcroft, Badari Pulavarty, linux-mm On Wed, 25 Apr 2007, Andrew Morton wrote: > Do we know where the extra refcount on that page is coming from? >From the allocation of the page via quicklist_alloc. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 21:36 ` Andrew Morton 2007-04-24 21:46 ` Andy Whitcroft @ 2007-04-24 21:53 ` Christoph Lameter 1 sibling, 0 replies; 32+ messages in thread From: Christoph Lameter @ 2007-04-24 21:53 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Andrew Morton wrote: > Well it's AMD64, presumably real NUMA. Maybe try numa=fake=4? That is on by default on my box. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:06 2.6.21-rc7-mm1 on test.kernel.org Andrew Morton 2007-04-24 20:21 ` Christoph Lameter @ 2007-04-24 22:27 ` Badari Pulavarty 2007-04-24 22:51 ` Andrew Morton 2007-04-24 23:59 ` Badari Pulavarty 2 siblings, 1 reply; 32+ messages in thread From: Badari Pulavarty @ 2007-04-24 22:27 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft, Christoph Lameter On Tue, 2007-04-24 at 13:06 -0700, Andrew Morton wrote: > An amd64 machine is crashing badly. > > http://test.kernel.org/abat/84767/debug/console.log > > VFS: Mounted root (ext3 filesystem) readonly. > Freeing unused kernel memory: 308k freed > INIT: version 2.86 booting > Bad page state in process 'init' > page:ffff81007e492628 flags:0x0100000000000000 mapping:0000000000000000 mapcount:0 count:1 > Trying to fix it up, but a reboot is needed > Backtrace: > > Call Trace: > [<ffffffff80250d3c>] bad_page+0x74/0x10d > [<ffffffff80253090>] free_hot_cold_page+0x8d/0x172 > [<ffffffff802531cb>] free_hot_page+0xb/0xd > [<ffffffff8025a9b7>] free_pgd_range+0x274/0x467 > [<ffffffff8025ac2a>] free_pgtables+0x80/0x8f > [<ffffffff8026139c>] exit_mmap+0x90/0x11a > [<ffffffff802270dd>] mmput+0x29/0x98 > Bad page state in process 'hotplug' > page:ffff81017e458bb0 flags:0x0a00000000000000 mapping:0000000000000000 mapcount:0 count:1 > Trying to fix it up, but a reboot is needed > Backtrace: > > Call Trace: > [<ffffffff80250d3c>] bad_page+0x74/0x10d > [<ffffffff80253090>] free_hot_cold_page+0x8d/0x172 > [<ffffffff802531cb>] free_hot_page+0xb/0xd > [<ffffffff80227074>] __mmdrop+0x68/0xa8 > [<ffffffff80222911>] schedule_tail+0x48/0x86 > [<ffffffff8020960c>] ret_from_fork+0xc/0x25 > > > So free_pgd_range() is freeing a refcount=1 page. Can anyone see what > might be causing this? The quicklist code impacts this area more than > anything else.. > > Naturally, I can't reproduce it (no amd64 boxen). A bisection search would > be wonderful. I am able to reproduce this on my amd64 box also, I will take a look .. but feel free to beat me to it :) Bad page state in process 'boot' page:ffff8101df9550a0 flags:0x0e00000000000000 mapping:0000000000000000 mapcount:0 count:1 Trying to fix it up, but a reboot is needed Backtrace: Call Trace: [<ffffffff8025dbda>] filemap_fault+0x1ba/0x420 [<ffffffff8025fdf0>] bad_page+0x70/0x120 [<ffffffff80260c26>] free_hot_cold_page+0x1b6/0x1d0 [<ffffffff80260cab>] free_hot_page+0xb/0x10 [<ffffffff8026ec0d>] free_pgd_range+0x4dd/0x4f0 [<ffffffff8026ef09>] free_pgtables+0xa9/0xe0 [<ffffffff802701a6>] exit_mmap+0x96/0x130 [<ffffffff8022d974>] mmput+0x44/0xc0 [<ffffffff80231f10>] exit_mm+0x90/0x100 [<ffffffff80233821>] do_exit+0x151/0x970 [<ffffffff80234077>] do_group_exit+0x37/0x90 [<ffffffff802340e2>] sys_exit_group+0x12/0x20 [<ffffffff80209bae>] system_call+0x7e/0x83 -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 22:27 ` Badari Pulavarty @ 2007-04-24 22:51 ` Andrew Morton 2007-04-24 23:32 ` Andy Whitcroft 2007-04-25 0:51 ` Badari Pulavarty 0 siblings, 2 replies; 32+ messages in thread From: Andrew Morton @ 2007-04-24 22:51 UTC (permalink / raw) To: Badari Pulavarty; +Cc: linux-mm, Andy Whitcroft, Christoph Lameter Andy, I'm looking at the power4 build: http://test.kernel.org/abat/84751/debug/test.log.0 which has LD init/built-in.o LD .tmp_vmlinux1 init/built-in.o(.init.text+0x32e4): In function `.rd_load_image': : undefined reference to `.__kmalloc_size_too_large' fs/built-in.o(.text+0xa60f0): In function `.ext3_fill_super': : undefined reference to `.__kmalloc_size_too_large' fs/built-in.o(.text+0xbe934): In function `.ext2_fill_super': : undefined reference to `.__kmalloc_size_too_large' fs/built-in.o(.text+0xf3370): In function `.nfs4_proc_lookup': something has gone stupid with kmalloc there, and I cannot reproduce it with my compiler and with your (very old) .config at http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4 So I'm a bit stumped. Does autotest just do `yes "" | make oldconfig' or what? When I do that, I get SLUB, but no compile errors. And do you know what compiler version is being used there? -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 22:51 ` Andrew Morton @ 2007-04-24 23:32 ` Andy Whitcroft 2007-04-25 0:07 ` Andy Whitcroft 2007-04-25 0:51 ` Badari Pulavarty 1 sibling, 1 reply; 32+ messages in thread From: Andy Whitcroft @ 2007-04-24 23:32 UTC (permalink / raw) To: Andrew Morton; +Cc: Badari Pulavarty, linux-mm, Christoph Lameter Andrew Morton wrote: > Andy, I'm looking at the power4 build: > > http://test.kernel.org/abat/84751/debug/test.log.0 > > which has > > LD init/built-in.o > LD .tmp_vmlinux1 > init/built-in.o(.init.text+0x32e4): In function `.rd_load_image': > : undefined reference to `.__kmalloc_size_too_large' > fs/built-in.o(.text+0xa60f0): In function `.ext3_fill_super': > : undefined reference to `.__kmalloc_size_too_large' > fs/built-in.o(.text+0xbe934): In function `.ext2_fill_super': > : undefined reference to `.__kmalloc_size_too_large' > fs/built-in.o(.text+0xf3370): In function `.nfs4_proc_lookup': > > something has gone stupid with kmalloc there, and I cannot reproduce it > with my compiler and with your (very old) .config at > http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4 > > So I'm a bit stumped. Does autotest just do `yes "" | make oldconfig' or > what? When I do that, I get SLUB, but no compile errors. Yes, exactly that. > > And do you know what compiler version is being used there? gcc version 3.4.4 20050314 (prerelease) (Debian 3.4.3-13sarge1) I am bisecting for the bad page bug right now, will let you know where it points. -apw -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 23:32 ` Andy Whitcroft @ 2007-04-25 0:07 ` Andy Whitcroft 0 siblings, 0 replies; 32+ messages in thread From: Andy Whitcroft @ 2007-04-25 0:07 UTC (permalink / raw) To: Andy Whitcroft Cc: Andrew Morton, Badari Pulavarty, linux-mm, Christoph Lameter Andy Whitcroft wrote: > Andrew Morton wrote: >> Andy, I'm looking at the power4 build: >> >> http://test.kernel.org/abat/84751/debug/test.log.0 >> >> which has >> >> LD init/built-in.o >> LD .tmp_vmlinux1 >> init/built-in.o(.init.text+0x32e4): In function `.rd_load_image': >> : undefined reference to `.__kmalloc_size_too_large' >> fs/built-in.o(.text+0xa60f0): In function `.ext3_fill_super': >> : undefined reference to `.__kmalloc_size_too_large' >> fs/built-in.o(.text+0xbe934): In function `.ext2_fill_super': >> : undefined reference to `.__kmalloc_size_too_large' >> fs/built-in.o(.text+0xf3370): In function `.nfs4_proc_lookup': >> >> something has gone stupid with kmalloc there, and I cannot reproduce it >> with my compiler and with your (very old) .config at >> http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4 >> >> So I'm a bit stumped. Does autotest just do `yes "" | make oldconfig' or >> what? When I do that, I get SLUB, but no compile errors. > > Yes, exactly that. > >> And do you know what compiler version is being used there? > > gcc version 3.4.4 20050314 (prerelease) (Debian 3.4.3-13sarge1) Sorry I misslead, that is the x84_64, the below is the correct version: gcc version 3.3.3 (SuSE Linux) -apw -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 22:51 ` Andrew Morton 2007-04-24 23:32 ` Andy Whitcroft @ 2007-04-25 0:51 ` Badari Pulavarty 2007-04-25 1:22 ` Andrew Morton 2007-04-25 6:21 ` Christoph Lameter 1 sibling, 2 replies; 32+ messages in thread From: Badari Pulavarty @ 2007-04-25 0:51 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft, Christoph Lameter On Tue, 2007-04-24 at 15:51 -0700, Andrew Morton wrote: > Andy, I'm looking at the power4 build: > > http://test.kernel.org/abat/84751/debug/test.log.0 > > which has > > LD init/built-in.o > LD .tmp_vmlinux1 > init/built-in.o(.init.text+0x32e4): In function `.rd_load_image': > : undefined reference to `.__kmalloc_size_too_large' > fs/built-in.o(.text+0xa60f0): In function `.ext3_fill_super': > : undefined reference to `.__kmalloc_size_too_large' > fs/built-in.o(.text+0xbe934): In function `.ext2_fill_super': > : undefined reference to `.__kmalloc_size_too_large' > fs/built-in.o(.text+0xf3370): In function `.nfs4_proc_lookup': > > something has gone stupid with kmalloc there, and I cannot reproduce it > with my compiler and with your (very old) .config at > http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4 > > So I'm a bit stumped. Does autotest just do `yes "" | make oldconfig' or > what? When I do that, I get SLUB, but no compile errors. > > And do you know what compiler version is being used there? include/linux/slub_def.h: static inline struct kmem_cache *kmalloc_slab(size_t size) { int index = kmalloc_index(size); if (index == 0) return NULL; if (index < 0) { /* * Generate a link failure. Would be great if we could * do something to stop the compile here. */ extern void __kmalloc_size_too_large(void); __kmalloc_size_too_large(); } return &kmalloc_caches[index]; } hmm.. gcc version 3.3.3 -- generates those link failures gcc version 4.1.0 -- doesn't generate this error -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 0:51 ` Badari Pulavarty @ 2007-04-25 1:22 ` Andrew Morton 2007-04-25 6:23 ` Christoph Lameter 2007-04-25 6:58 ` Christoph Lameter 2007-04-25 6:21 ` Christoph Lameter 1 sibling, 2 replies; 32+ messages in thread From: Andrew Morton @ 2007-04-25 1:22 UTC (permalink / raw) To: Badari Pulavarty; +Cc: linux-mm, Andy Whitcroft, Christoph Lameter On Tue, 24 Apr 2007 17:51:27 -0700 Badari Pulavarty <pbadari@gmail.com> wrote: > On Tue, 2007-04-24 at 15:51 -0700, Andrew Morton wrote: > > Andy, I'm looking at the power4 build: > > > > http://test.kernel.org/abat/84751/debug/test.log.0 > > > > which has > > > > LD init/built-in.o > > LD .tmp_vmlinux1 > > init/built-in.o(.init.text+0x32e4): In function `.rd_load_image': > > : undefined reference to `.__kmalloc_size_too_large' > > fs/built-in.o(.text+0xa60f0): In function `.ext3_fill_super': > > : undefined reference to `.__kmalloc_size_too_large' > > fs/built-in.o(.text+0xbe934): In function `.ext2_fill_super': > > : undefined reference to `.__kmalloc_size_too_large' > > fs/built-in.o(.text+0xf3370): In function `.nfs4_proc_lookup': > > > > something has gone stupid with kmalloc there, and I cannot reproduce it > > with my compiler and with your (very old) .config at > > http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4 > > > > So I'm a bit stumped. Does autotest just do `yes "" | make oldconfig' or > > what? When I do that, I get SLUB, but no compile errors. > > > > And do you know what compiler version is being used there? > > include/linux/slub_def.h: > > static inline struct kmem_cache *kmalloc_slab(size_t size) > { > int index = kmalloc_index(size); > > if (index == 0) > return NULL; > > if (index < 0) { > /* > * Generate a link failure. Would be great if we could > * do something to stop the compile here. > */ > extern void __kmalloc_size_too_large(void); > __kmalloc_size_too_large(); > } > return &kmalloc_caches[index]; > } > > hmm.. > > gcc version 3.3.3 -- generates those link failures > gcc version 4.1.0 -- doesn't generate this error My power box is 3.4.4 and it doesn't do that either. I guess it's just a gcc buglet. Poor Christoph ;) I wonder why slab doesn't hit that problem. I wonder whether slub should use kmalloc-sizes.h. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 1:22 ` Andrew Morton @ 2007-04-25 6:23 ` Christoph Lameter 2007-04-25 6:38 ` Andrew Morton 2007-04-25 6:58 ` Christoph Lameter 1 sibling, 1 reply; 32+ messages in thread From: Christoph Lameter @ 2007-04-25 6:23 UTC (permalink / raw) To: Andrew Morton; +Cc: Badari Pulavarty, linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Andrew Morton wrote: > > gcc version 4.1.0 -- doesn't generate this error > > My power box is 3.4.4 and it doesn't do that either. I guess it's just a > gcc buglet. Its a constant folding issue. Yuck. I went through a series of these last year and I thought I had this under constrol. > > Poor Christoph ;) > > I wonder why slab doesn't hit that problem. It relies less on constant folding. > I wonder whether slub should use kmalloc-sizes.h. I tried to avoid that mess. What is the lowest gcc version we currently support? -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 6:23 ` Christoph Lameter @ 2007-04-25 6:38 ` Andrew Morton 0 siblings, 0 replies; 32+ messages in thread From: Andrew Morton @ 2007-04-25 6:38 UTC (permalink / raw) To: Christoph Lameter; +Cc: Badari Pulavarty, linux-mm, Andy Whitcroft On Tue, 24 Apr 2007 23:23:49 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote: > What is the lowest gcc version we currently support? Documentation/Changes has the list. gcc-3.2 -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 1:22 ` Andrew Morton 2007-04-25 6:23 ` Christoph Lameter @ 2007-04-25 6:58 ` Christoph Lameter 1 sibling, 0 replies; 32+ messages in thread From: Christoph Lameter @ 2007-04-25 6:58 UTC (permalink / raw) To: Andrew Morton; +Cc: Badari Pulavarty, linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Andrew Morton wrote: > > gcc version 3.3.3 -- generates those link failures > > gcc version 4.1.0 -- doesn't generate this error > > My power box is 3.4.4 and it doesn't do that either. I guess it's just a > gcc buglet. > > Poor Christoph ;) > > I wonder why slab doesn't hit that problem. > > I wonder whether slub should use kmalloc-sizes.h. Builds fine here with gcc 3.3 on x86_64. Maybe a problem with the arch specific backend? Maybe it does not inline by default? Does forcing inlining fix the problem? Index: linux-2.6.21-rc7/include/linux/slub_def.h =================================================================== --- linux-2.6.21-rc7.orig/include/linux/slub_def.h 2007-04-24 23:50:27.000000000 -0700 +++ linux-2.6.21-rc7/include/linux/slub_def.h 2007-04-24 23:51:08.000000000 -0700 @@ -84,7 +84,7 @@ extern struct kmem_cache kmalloc_caches[ * Sorry that the following has to be that ugly but some versions of GCC * have trouble with constant propagation and loops. */ -static inline int kmalloc_index(int size) +static __always_inline int kmalloc_index(int size) { if (size == 0) return 0; -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-25 0:51 ` Badari Pulavarty 2007-04-25 1:22 ` Andrew Morton @ 2007-04-25 6:21 ` Christoph Lameter 1 sibling, 0 replies; 32+ messages in thread From: Christoph Lameter @ 2007-04-25 6:21 UTC (permalink / raw) To: Badari Pulavarty; +Cc: Andrew Morton, linux-mm, Andy Whitcroft On Tue, 24 Apr 2007, Badari Pulavarty wrote: > static inline struct kmem_cache *kmalloc_slab(size_t size) > { > int index = kmalloc_index(size); > > if (index == 0) > return NULL; > > if (index < 0) { > /* > * Generate a link failure. Would be great if we could > * do something to stop the compile here. > */ > extern void __kmalloc_size_too_large(void); > __kmalloc_size_too_large(); > } > return &kmalloc_caches[index]; > } > > hmm.. > > gcc version 3.3.3 -- generates those link failures > gcc version 4.1.0 -- doesn't generate this error Likely an issue with constant folding. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 20:06 2.6.21-rc7-mm1 on test.kernel.org Andrew Morton 2007-04-24 20:21 ` Christoph Lameter 2007-04-24 22:27 ` Badari Pulavarty @ 2007-04-24 23:59 ` Badari Pulavarty 2007-04-25 1:26 ` Andrew Morton 2 siblings, 1 reply; 32+ messages in thread From: Badari Pulavarty @ 2007-04-24 23:59 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm, Andy Whitcroft, Christoph Lameter On Tue, 2007-04-24 at 13:06 -0700, Andrew Morton wrote: > An amd64 machine is crashing badly. > > http://test.kernel.org/abat/84767/debug/console.log > > VFS: Mounted root (ext3 filesystem) readonly. > Freeing unused kernel memory: 308k freed > INIT: version 2.86 booting > Bad page state in process 'init' > page:ffff81007e492628 flags:0x0100000000000000 mapping:0000000000000000 mapcount:0 count:1 > Trying to fix it up, but a reboot is needed > Backtrace: > > Call Trace: > [<ffffffff80250d3c>] bad_page+0x74/0x10d > [<ffffffff80253090>] free_hot_cold_page+0x8d/0x172 ... > > So free_pgd_range() is freeing a refcount=1 page. Can anyone see what > might be causing this? The quicklist code impacts this area more than > anything else.. > Yep. quicklist patches are causing these. making CONFIG_QUICKLIST=n didn't solve the problem. I had to back out all quicklist patches to make my machine boot. Thanks, Badari -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 2.6.21-rc7-mm1 on test.kernel.org 2007-04-24 23:59 ` Badari Pulavarty @ 2007-04-25 1:26 ` Andrew Morton 0 siblings, 0 replies; 32+ messages in thread From: Andrew Morton @ 2007-04-25 1:26 UTC (permalink / raw) To: Badari Pulavarty; +Cc: linux-mm, Andy Whitcroft, Christoph Lameter On Tue, 24 Apr 2007 16:59:29 -0700 Badari Pulavarty <pbadari@gmail.com> wrote: > On Tue, 2007-04-24 at 13:06 -0700, Andrew Morton wrote: > > An amd64 machine is crashing badly. > > > > http://test.kernel.org/abat/84767/debug/console.log > > > > VFS: Mounted root (ext3 filesystem) readonly. > > Freeing unused kernel memory: 308k freed > > INIT: version 2.86 booting > > Bad page state in process 'init' > > page:ffff81007e492628 flags:0x0100000000000000 mapping:0000000000000000 mapcount:0 count:1 > > Trying to fix it up, but a reboot is needed > > Backtrace: > > > > Call Trace: > > [<ffffffff80250d3c>] bad_page+0x74/0x10d > > [<ffffffff80253090>] free_hot_cold_page+0x8d/0x172 > ... > > > > So free_pgd_range() is freeing a refcount=1 page. Can anyone see what > > might be causing this? The quicklist code impacts this area more than > > anything else.. > > > > Yep. quicklist patches are causing these. > > making CONFIG_QUICKLIST=n didn't solve the problem. I had > to back out all quicklist patches to make my machine boot. > Great, thanks for working that out. If people start reporting this I'll drop 'em and do an -rc2, but things are awful quiet out there. -- 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> ^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2007-04-25 15:15 UTC | newest] Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2007-04-24 20:06 2.6.21-rc7-mm1 on test.kernel.org Andrew Morton 2007-04-24 20:21 ` Christoph Lameter 2007-04-24 20:27 ` Andrew Morton 2007-04-24 20:32 ` Christoph Lameter 2007-04-24 20:43 ` Andrew Morton 2007-04-24 20:52 ` Christoph Lameter 2007-04-24 21:12 ` Andy Whitcroft 2007-04-24 21:18 ` Andrew Morton 2007-04-24 21:30 ` Christoph Lameter 2007-04-24 21:36 ` Andrew Morton 2007-04-24 21:46 ` Andy Whitcroft 2007-04-25 0:16 ` Andy Whitcroft 2007-04-25 0:34 ` Badari Pulavarty 2007-04-25 0:44 ` Andy Whitcroft 2007-04-25 1:03 ` Badari Pulavarty 2007-04-25 6:39 ` Christoph Lameter 2007-04-25 8:21 ` Andy Whitcroft 2007-04-25 8:40 ` Andrew Morton 2007-04-25 15:15 ` Christoph Lameter 2007-04-24 21:53 ` Christoph Lameter 2007-04-24 22:27 ` Badari Pulavarty 2007-04-24 22:51 ` Andrew Morton 2007-04-24 23:32 ` Andy Whitcroft 2007-04-25 0:07 ` Andy Whitcroft 2007-04-25 0:51 ` Badari Pulavarty 2007-04-25 1:22 ` Andrew Morton 2007-04-25 6:23 ` Christoph Lameter 2007-04-25 6:38 ` Andrew Morton 2007-04-25 6:58 ` Christoph Lameter 2007-04-25 6:21 ` Christoph Lameter 2007-04-24 23:59 ` Badari Pulavarty 2007-04-25 1:26 ` Andrew Morton
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox