Re: 2.6.15-mm2
From: Hugh Dickins
Date: Mon Jan 09 2006 - 13:22:49 EST
On Mon, 9 Jan 2006, Jesper Juhl wrote:
> On 1/9/06, Dave Jones <davej@xxxxxxxxxx> wrote:
> > On Mon, Jan 09, 2006 at 06:47:01PM +0100, Jesper Juhl wrote:
> >
> > > Here's what bad_page printed for me :
> > >
> > > Bad page state in process 'kded'
> > > [<c0103e77>] dump_stack+0x17/0x20
> > > [<c0148999>] bad_page+0x69/0x160
> >
> > Odd, there should be more state between the 'Bad page'
> > and the backtrace.
> >
> > printk(KERN_EMERG "Bad page state in process '%s'\n"
> > "page:%p flags:0x%0*lx mapping:%p mapcount:%d count:%d\n"
> > "Trying to fix it up, but a reboot is needed\n"
> >
> > Did you aggressively trim that, or did it for some
> > reason not get printed ?
> >
>
> I did not trim that.
>
> All I did was add
>
> printk(KERN_EMERG "we hit bad page, looping forever\n");
> while (1) {
> mdelay(1000);
> }
>
> to the end of bad_page()
I'm afraid someone has recently "tidied up" bad_page, and missed out
the most interesting KERN_EMERG of all. No promises that this will
actually help us more than the backtrace you've sent, but please give
it another go with patch below applied. Andrew, please pass along...
Restore KERN_EMERG to each line printed by bad_page.
Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx>
--- 2.6.15-mm2/mm/page_alloc.c 2006-01-07 14:05:58.000000000 +0000
+++ linux/mm/page_alloc.c 2006-01-09 18:13:00.000000000 +0000
@@ -137,9 +137,9 @@ static inline int bad_range(struct zone
static void bad_page(struct page *page)
{
printk(KERN_EMERG "Bad page state in process '%s'\n"
- "page:%p flags:0x%0*lx mapping:%p mapcount:%d count:%d\n"
- "Trying to fix it up, but a reboot is needed\n"
- "Backtrace:\n",
+ KERN_EMERG "page:%p flags:0x%0*lx mapping:%p mapcount:%d count:%d\n"
+ KERN_EMERG "Trying to fix it up, but a reboot is needed\n"
+ KERN_EMERG "Backtrace:\n",
current->comm, page, (int)(2*sizeof(unsigned long)),
(unsigned long)page->flags, page->mapping,
page_mapcount(page), page_count(page));
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/