* 2.6.15-rc1-mm2 0x414 Bad page states
@ 2005-11-18 19:15 Hugh Dickins
2005-11-18 20:12 ` Dominik Brodowski
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Hugh Dickins @ 2005-11-18 19:15 UTC (permalink / raw)
To: Dominik Brodowski, Benoit Boissinot, Rafael J. Wysocki,
Michael Krufky
Cc: Andrew Morton, linux-kernel
Thanks a lot for your PageReserved "Bad page state" reports.
Sorry for being so slow to respond. I've not worked it out yet.
Would each of you please apply the slightly-more-debug-info patch
below, and mail me the first batch of reports that you get when
you try to reproduce the problem (it does assume only one CPU,
which happens to be the case for each of you).
Thanks,
Hugh
--- 2.6.15-rc1-mm2/mm/memory.c 2005-11-18 15:23:09.000000000 +0000
+++ linux/mm/memory.c 2005-11-18 17:56:23.000000000 +0000
@@ -569,6 +569,7 @@ static unsigned long zap_pte_range(struc
unsigned long addr, unsigned long end,
long *zap_work, struct zap_details *details)
{
+ extern struct vm_area_struct *zap_vma;
struct mm_struct *mm = tlb->mm;
pte_t *pte;
spinlock_t *ptl;
@@ -576,6 +577,7 @@ static unsigned long zap_pte_range(struc
int anon_rss = 0;
pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
+ zap_vma = vma;
do {
pte_t ptent = *pte;
if (pte_none(ptent)) {
@@ -649,6 +651,7 @@ static unsigned long zap_pte_range(struc
pte_clear_full(mm, addr, pte, tlb->fullmm);
} while (pte++, addr += PAGE_SIZE, (addr != end && *zap_work > 0));
+ zap_vma = NULL;
add_mm_rss(mm, file_rss, anon_rss);
pte_unmap_unlock(pte - 1, ptl);
--- 2.6.15-rc1-mm2/mm/page_alloc.c 2005-11-18 15:23:09.000000000 +0000
+++ linux/mm/page_alloc.c 2005-11-18 18:16:28.000000000 +0000
@@ -36,6 +36,7 @@
#include <linux/memory_hotplug.h>
#include <linux/nodemask.h>
#include <linux/vmalloc.h>
+#include <linux/kallsyms.h>
#include <asm/tlbflush.h>
#include "internal.h"
@@ -122,6 +123,7 @@ static int bad_range(struct zone *zone,
return 0;
}
+struct vm_area_struct *zap_vma;
static void bad_page(const char *function, struct page *page)
{
printk(KERN_EMERG "Bad page state at %s (in process '%s', page %p)\n",
@@ -129,6 +131,13 @@ static void bad_page(const char *functio
printk(KERN_EMERG "flags:0x%0*lx mapping:%p mapcount:%d count:%d\n",
(int)(2*sizeof(unsigned long)), (unsigned long)page->flags,
page->mapping, page_mapcount(page), page_count(page));
+ if (zap_vma) {
+ printk(KERN_EMERG "vm_flags:0x%lx", zap_vma->vm_flags);
+ print_symbol(" %s", (unsigned long)
+ (zap_vma->vm_ops? zap_vma->vm_ops->open: NULL));
+ print_symbol(" %s\n", (unsigned long)
+ (zap_vma->vm_ops? zap_vma->vm_ops->nopage: NULL));
+ }
printk(KERN_EMERG "Backtrace:\n");
dump_stack();
{
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: 2.6.15-rc1-mm2 0x414 Bad page states
2005-11-18 19:15 2.6.15-rc1-mm2 0x414 Bad page states Hugh Dickins
@ 2005-11-18 20:12 ` Dominik Brodowski
2005-11-18 20:42 ` Rafael J. Wysocki
[not found] ` <Pine.LNX.4.61.0511182214200.4797@goblin.wat.veritas.com>
[not found] ` <20051122211625.165F114CB@hornet.berlios.de>
2 siblings, 1 reply; 12+ messages in thread
From: Dominik Brodowski @ 2005-11-18 20:12 UTC (permalink / raw)
To: Hugh Dickins, Andrew Morton, linux-kernel
Hi!
[4294995.698000] Bad page state at free_hot_cold_page (in process 'gaim', page c15eb020)
[4294995.698000] flags:0x80000414 mapping:00000000 mapcount:0 count:0
[4294995.698000] vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x11 snd_pcm_mmap_data_nopage+0x0/0xa7
[4294995.698000] Backtrace:
[4294995.698000] [<c0103b59>] dump_stack+0x15/0x17
[4294995.698000] [<c0138ff1>] bad_page+0xab/0xe1
[4294995.698000] [<c01396d2>] free_hot_cold_page+0x5c/0xfe
[4294995.698000] [<c013977e>] free_hot_page+0xa/0xc
[4294995.698000] [<c013f03c>] __page_cache_release+0x8f/0x94
[4294995.698000] [<c013ed1f>] put_page+0x5b/0x5d
[4294995.698000] [<c0148dc9>] free_page_and_swap_cache+0x2c/0x2f
[4294995.698000] [<c014265e>] zap_pte_range+0x1aa/0x227
[4294995.698000] [<c0142779>] unmap_page_range+0x9e/0xe8
[4294995.698000] [<c0142886>] unmap_vmas+0xc3/0x199
[4294995.698000] [<c0145d57>] unmap_region+0x77/0xf2
[4294995.698000] [<c0145ff1>] do_munmap+0xdd/0xf3
[4294995.698000] [<c0146056>] sys_munmap+0x4f/0x68
[4294995.698000] [<c0102cab>] sysenter_past_esp+0x54/0x75
[4294995.698000] Trying to fix it up, but a reboot is needed
[4294995.698000] Bad page state at free_hot_cold_page (in process 'gaim', page c15eb040)
[4294995.698000] flags:0x80000414 mapping:00000000 mapcount:0 count:0
[4294995.698000] vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x11 snd_pcm_mmap_data_nopage+0x0/0xa7
[4294995.698000] Backtrace:
[4294995.698000] [<c0103b59>] dump_stack+0x15/0x17
[4294995.698000] [<c0138ff1>] bad_page+0xab/0xe1
[4294995.698000] [<c01396d2>] free_hot_cold_page+0x5c/0xfe
[4294995.698000] [<c013977e>] free_hot_page+0xa/0xc
[4294995.698000] [<c013f03c>] __page_cache_release+0x8f/0x94
[4294995.698000] [<c013ed1f>] put_page+0x5b/0x5d
[4294995.698000] [<c0148dc9>] free_page_and_swap_cache+0x2c/0x2f
[4294995.698000] [<c014265e>] zap_pte_range+0x1aa/0x227
[4294995.698000] [<c0142779>] unmap_page_range+0x9e/0xe8
[4294995.698000] [<c0142886>] unmap_vmas+0xc3/0x199
[4294995.698000] [<c0145d57>] unmap_region+0x77/0xf2
[4294995.698000] [<c0145ff1>] do_munmap+0xdd/0xf3
[4294995.698000] [<c0146056>] sys_munmap+0x4f/0x68
[4294995.698000] [<c0102cab>] sysenter_past_esp+0x54/0x75
and so on.
0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
0000:00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
readlink /sys/devices/pci0000\:00/0000\:00\:1f.5/driver
../../../bus/pci/drivers/Intel ICH
readlink /sys/devices/pci0000\:00/0000\:00\:1f.6/driver
../../../bus/pci/drivers/Intel ICH Modem
Thanks for taking care of this,
Dominik
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: 2.6.15-rc1-mm2 0x414 Bad page states
2005-11-18 20:12 ` Dominik Brodowski
@ 2005-11-18 20:42 ` Rafael J. Wysocki
2005-11-19 4:30 ` Nick Piggin
0 siblings, 1 reply; 12+ messages in thread
From: Rafael J. Wysocki @ 2005-11-18 20:42 UTC (permalink / raw)
To: Hugh Dickins; +Cc: Dominik Brodowski, Andrew Morton, linux-kernel
Hi,
On Friday, 18 of November 2005 21:12, Dominik Brodowski wrote:
> [4294995.698000] Bad page state at free_hot_cold_page (in process 'gaim', page c15eb020)
> [4294995.698000] flags:0x80000414 mapping:00000000 mapcount:0 count:0
> [4294995.698000] vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x11 snd_pcm_mmap_data_nopage+0x0/0xa7
I've got pretty much the same:
Nov 18 21:23:22 albercik kernel: Bad page state at free_hot_cold_page (in process 'artsd', page ffff8100019613b8)
Nov 18 21:23:22 albercik kernel: flags:0x4000000000000414 mapping:0000000000000000 mapcount:0 count:0
Nov 18 21:23:22 albercik kernel: vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x20 [snd_pcm] snd_pcm_mmap_data_nopage+0x0/0x150 [snd_pcm]
Nov 18 21:23:22 albercik kernel: Backtrace:
Nov 18 21:23:22 albercik kernel:
Nov 18 21:23:22 albercik kernel: Call Trace:<ffffffff80160a5e>{bad_page+238} <ffffffff80161094>{free_hot_cold_page+116}
Nov 18 21:23:22 albercik kernel: <ffffffff801611bb>{free_hot_page+11} <ffffffff80163cc9>{__page_cache_release+217}
Nov 18 21:23:22 albercik kernel: <ffffffff80163d56>{put_page+118} <ffffffff80172508>{free_page_and_swap_cache+56}
Nov 18 21:23:22 albercik kernel: <ffffffff80168fdf>{unmap_vmas+1391} <ffffffff8016c522>{unmap_region+178}
Nov 18 21:23:22 albercik kernel: <ffffffff8016d7be>{do_munmap+558} <ffffffff8016d8b0>{sys_munmap+80}
Nov 18 21:23:22 albercik kernel: <ffffffff8010eb5e>{system_call+126}
Nov 18 21:23:22 albercik kernel: ---------------------------
Nov 18 21:23:22 albercik kernel: | preempt count: 00000002 ]
Nov 18 21:23:26 albercik kernel: | 2 level deep critical section nesting:
Nov 18 21:23:27 albercik kernel: ----------------------------------------
Nov 18 21:23:28 albercik kernel: .. [<ffffffff8016c4c7>] .... unmap_region+0x57/0x150
Nov 18 21:23:29 albercik kernel: .....[<ffffffff8016d7be>] .. ( <= do_munmap+0x22e/0x2d0)
Nov 18 21:23:30 albercik kernel: .. [<ffffffff8035f2a6>] .... _spin_lock+0x16/0x30
Nov 18 21:23:30 albercik kernel: .....[<ffffffff80168e24>] .. ( <= unmap_vmas+0x3b4/0x790)
Nov 18 21:23:31 albercik kernel:
Nov 18 21:23:31 albercik kernel: Hexdump:
Nov 18 21:23:33 albercik kernel: 000: e8 0c 06 2b 00 81 ff ff 14 04 00 00 00 00 00 40
Nov 18 21:23:35 albercik kernel: 010: 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00
Nov 18 21:23:36 albercik kernel: 020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Nov 18 21:23:36 albercik kernel: 030: 00 01 10 00 00 00 00 00 00 02 20 00 00 00 00 00
Nov 18 21:23:36 albercik kernel: 040: 14 04 00 00 00 00 00 40 ff ff ff ff ff ff ff ff
Nov 18 21:23:37 albercik kernel: 050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Nov 18 21:23:37 albercik kernel: 060: 00 00 00 00 00 00 00 00 e0 13 96 01 00 81 ff ff
Nov 18 21:23:38 albercik kernel: 070: e0 13 96 01 00 81 ff ff 14 04 00 00 00 00 00 40
Nov 18 21:23:38 albercik kernel: 080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Nov 18 21:23:41 albercik kernel: 090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Nov 18 21:23:45 albercik kernel: 0a0: 18 14 96 01 00 81 ff ff 18 14 96 01 00 81 ff ff
Nov 18 21:23:46 albercik kernel: 0b0: 14 04 00 00 00 00 00 40 00 00 00 00 00 00 00 00
Nov 18 21:23:51 albercik kernel: Trying to fix it up, but a reboot is needed
and so forth.
> 0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
> 0000:00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
>
> readlink /sys/devices/pci0000\:00/0000\:00\:1f.5/driver
> ../../../bus/pci/drivers/Intel ICH
> readlink /sys/devices/pci0000\:00/0000\:00\:1f.6/driver
> ../../../bus/pci/drivers/Intel ICH Modem
0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce3 Audio (rev a2)
albercik:~ # readlink /sys/devices/pci0000\:00/0000\:00\:06.0/driver
../../../bus/pci/drivers/Intel ICH
> Thanks for taking care of this,
Ditto. :-)
Greetings,
Rafael
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: 2.6.15-rc1-mm2 0x414 Bad page states
2005-11-18 20:42 ` Rafael J. Wysocki
@ 2005-11-19 4:30 ` Nick Piggin
2005-11-19 4:33 ` Nick Piggin
0 siblings, 1 reply; 12+ messages in thread
From: Nick Piggin @ 2005-11-19 4:30 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Hugh Dickins, Dominik Brodowski, Andrew Morton, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 905 bytes --]
Rafael J. Wysocki wrote:
> Hi,
>
> On Friday, 18 of November 2005 21:12, Dominik Brodowski wrote:
>
>>[4294995.698000] Bad page state at free_hot_cold_page (in process 'gaim', page c15eb020)
>>[4294995.698000] flags:0x80000414 mapping:00000000 mapcount:0 count:0
>>[4294995.698000] vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x11 snd_pcm_mmap_data_nopage+0x0/0xa7
>
>
> I've got pretty much the same:
>
> Nov 18 21:23:22 albercik kernel: Bad page state at free_hot_cold_page (in process 'artsd', page ffff8100019613b8)
> Nov 18 21:23:22 albercik kernel: flags:0x4000000000000414 mapping:0000000000000000 mapcount:0 count:0
> Nov 18 21:23:22 albercik kernel: vm_flags:0x800fb snd_pcm_mmap_data_open+0x0/0x20 [snd_pcm] snd_pcm_mmap_data_nopage+0x0/0x150 [snd_pcm]
> Nov 18 21:23:22 albercik kernel: Backtrace:
These look like they want the following patch. Does it help?
--
SUSE Labs, Novell Inc.
[-- Attachment #2: snd-pcm-refcount.patch --]
[-- Type: text/plain, Size: 1068 bytes --]
Index: linux-2.6/sound/core/pcm_native.c
===================================================================
--- linux-2.6.orig/sound/core/pcm_native.c 2005-10-09 18:28:51.000000000 +1000
+++ linux-2.6/sound/core/pcm_native.c 2005-11-19 15:29:59.000000000 +1100
@@ -2949,8 +2949,7 @@ static struct page * snd_pcm_mmap_status
return NOPAGE_OOM;
runtime = substream->runtime;
page = virt_to_page(runtime->status);
- if (!PageReserved(page))
- get_page(page);
+ get_page(page);
if (type)
*type = VM_FAULT_MINOR;
return page;
@@ -2992,8 +2991,7 @@ static struct page * snd_pcm_mmap_contro
return NOPAGE_OOM;
runtime = substream->runtime;
page = virt_to_page(runtime->control);
- if (!PageReserved(page))
- get_page(page);
+ get_page(page);
if (type)
*type = VM_FAULT_MINOR;
return page;
@@ -3066,8 +3064,7 @@ static struct page *snd_pcm_mmap_data_no
vaddr = runtime->dma_area + offset;
page = virt_to_page(vaddr);
}
- if (!PageReserved(page))
- get_page(page);
+ get_page(page);
if (type)
*type = VM_FAULT_MINOR;
return page;
^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <Pine.LNX.4.61.0511182214200.4797@goblin.wat.veritas.com>]
* Re: 2.6.15-rc1-mm2 0x414 Bad page states
[not found] ` <Pine.LNX.4.61.0511182214200.4797@goblin.wat.veritas.com>
@ 2005-11-19 19:57 ` Hugh Dickins
2005-11-19 22:42 ` Dominik Brodowski
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Hugh Dickins @ 2005-11-19 19:57 UTC (permalink / raw)
To: Dominik Brodowski, Benoit Boissinot, Rafael J. Wysocki,
Michael Krufky
Cc: Andrew Morton, Nick Piggin, Marc Koschewski, linux-kernel
On Fri, 18 Nov 2005, Hugh Dickins wrote:
>
> Thanks for the info you've sent so far, implicating
> snd_pcm_mmap_data_nopage. But I've still not got it. Will resume
> tomorrow. If you can, would you please each send me your .config
> and your full startup dmesg (in case they help to focus me on which
> paths to look down in sound). You needn't spam akpm or lkml with them.
And thanks for the further info you sent, which allowed me to rebuild my
kernel to reproduce the problem easily with artsd. Though the answer was
staring me in the face from the first info you sent (and did occasionally
flit through my mind without being properly swatted), even in my Subject
line above: why were the page flags 0x414 instead of 0x4414 i.e. what had
happened to the PageCompound flag which I thought one of my patches was
adding?
Whoops, I'd completely missed that now we have to pass __GFP_COMP to
turn on that behaviour, because there are or were a few other places
which get confused by compound page behaviour. There's an excellent,
illuminating, prescient comment on compound pages by Andrew in
ChangeLog-2.6.6: but though he there foresees sound DMA buffers needing
it, I've a suspicion that DRM and some others might also be needing it.
So I'll go on a trawl through the source before finalizing the fix,
but below is the patch you guys need. Does this patch deal with your
Bad page states too, Marc? Does it help your mouse at all somehow?
Hugh
--- 2.6.15-rc1-mm2/sound/core/memalloc.c 2005-11-12 09:01:28.000000000 +0000
+++ linux/sound/core/memalloc.c 2005-11-19 19:03:32.000000000 +0000
@@ -197,6 +197,7 @@ void *snd_malloc_pages(size_t size, gfp_
snd_assert(size > 0, return NULL);
snd_assert(gfp_flags != 0, return NULL);
+ gfp_flags |= __GFP_COMP; /* compound page lets parts be mapped */
pg = get_order(size);
if ((res = (void *) __get_free_pages(gfp_flags, pg)) != NULL) {
mark_pages(virt_to_page(res), pg);
@@ -241,6 +242,7 @@ static void *snd_malloc_dev_pages(struct
snd_assert(dma != NULL, return NULL);
pg = get_order(size);
gfp_flags = GFP_KERNEL
+ | __GFP_COMP /* compound page lets parts be mapped */
| __GFP_NORETRY /* don't trigger OOM-killer */
| __GFP_NOWARN; /* no stack trace print - this call is non-critical */
res = dma_alloc_coherent(dev, PAGE_SIZE << pg, dma, gfp_flags);
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: 2.6.15-rc1-mm2 0x414 Bad page states
2005-11-19 19:57 ` Hugh Dickins
@ 2005-11-19 22:42 ` Dominik Brodowski
2005-11-20 10:14 ` Marc Koschewski
2005-11-21 13:02 ` Christian Kujau
2 siblings, 0 replies; 12+ messages in thread
From: Dominik Brodowski @ 2005-11-19 22:42 UTC (permalink / raw)
To: Hugh Dickins; +Cc: Andrew Morton, Nick Piggin, linux-kernel
On Sat, Nov 19, 2005 at 07:57:02PM +0000, Hugh Dickins wrote:
> So I'll go on a trawl through the source before finalizing the fix,
> but below is the patch you guys need. Does this patch deal with your
> Bad page states too, Marc? Does it help your mouse at all somehow?
Works for me.
Thanks,
Dominik
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: 2.6.15-rc1-mm2 0x414 Bad page states
2005-11-19 19:57 ` Hugh Dickins
2005-11-19 22:42 ` Dominik Brodowski
@ 2005-11-20 10:14 ` Marc Koschewski
2005-11-21 13:02 ` Christian Kujau
2 siblings, 0 replies; 12+ messages in thread
From: Marc Koschewski @ 2005-11-20 10:14 UTC (permalink / raw)
To: Hugh Dickins; +Cc: linux-kernel
* Hugh Dickins <hugh@veritas.com> [2005-11-19 19:57:02 +0000]:
> On Fri, 18 Nov 2005, Hugh Dickins wrote:
> >
> > Thanks for the info you've sent so far, implicating
> > snd_pcm_mmap_data_nopage. But I've still not got it. Will resume
> > tomorrow. If you can, would you please each send me your .config
> > and your full startup dmesg (in case they help to focus me on which
> > paths to look down in sound). You needn't spam akpm or lkml with them.
>
> And thanks for the further info you sent, which allowed me to rebuild my
> kernel to reproduce the problem easily with artsd. Though the answer was
> staring me in the face from the first info you sent (and did occasionally
> flit through my mind without being properly swatted), even in my Subject
> line above: why were the page flags 0x414 instead of 0x4414 i.e. what had
> happened to the PageCompound flag which I thought one of my patches was
> adding?
>
> Whoops, I'd completely missed that now we have to pass __GFP_COMP to
> turn on that behaviour, because there are or were a few other places
> which get confused by compound page behaviour. There's an excellent,
> illuminating, prescient comment on compound pages by Andrew in
> ChangeLog-2.6.6: but though he there foresees sound DMA buffers needing
> it, I've a suspicion that DRM and some others might also be needing it.
>
> So I'll go on a trawl through the source before finalizing the fix,
> but below is the patch you guys need. Does this patch deal with your
> Bad page states too, Marc? Does it help your mouse at all somehow?
>
Sorry for the late reply. I was just busy but I'll make the best out of
the sunday morning. :)
After applying the patch the console was quite clean as it used to be.
Thus it seems to work for me as well.
Thanks Hugh,
Marc
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: 2.6.15-rc1-mm2 0x414 Bad page states
2005-11-19 19:57 ` Hugh Dickins
2005-11-19 22:42 ` Dominik Brodowski
2005-11-20 10:14 ` Marc Koschewski
@ 2005-11-21 13:02 ` Christian Kujau
2 siblings, 0 replies; 12+ messages in thread
From: Christian Kujau @ 2005-11-21 13:02 UTC (permalink / raw)
To: Hugh Dickins
Cc: Dominik Brodowski, Benoit Boissinot, Rafael J. Wysocki,
Michael Krufky, Andrew Morton, Nick Piggin, Marc Koschewski,
linux-kernel
Hugh Dickins schrieb:
> So I'll go on a trawl through the source before finalizing the fix,
> but below is the patch you guys need. Does this patch deal with your
> Bad page states too, Marc? Does it help your mouse at all somehow?
yes, it fixes the very same issue (Bad page states) here too.
thank you,
Christian.
--
BOFH excuse #396:
Mail server hit by UniSpammer.
^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20051122211625.165F114CB@hornet.berlios.de>]
* Re: 2.6.15-rc1-mm2 0x414 Bad page states
[not found] ` <20051122211625.165F114CB@hornet.berlios.de>
@ 2005-11-22 21:32 ` Hugh Dickins
[not found] ` <20051122231603.2209814DA@hornet.berlios.de>
0 siblings, 1 reply; 12+ messages in thread
From: Hugh Dickins @ 2005-11-22 21:32 UTC (permalink / raw)
To: Michael Frank
Cc: Dominik Brodowski, Benoit Boissinot, Rafael J. Wysocki,
Michael Krufky, Andrew Morton, Dave Airlie, linux-kernel
On Tue, 22 Nov 2005, Michael Frank wrote:
>
> I am getting this also with i810 drm in Vanilla 2.6.15-rc2
> upon exiting apps such as supertux.
Aha, perhaps you're the one we've been waiting for. I've suspected
a DRM issue, but nobody has actually seen one until now, and I didn't
want to put in a patch without live justification.
Would you please try the patch below, and let us know if it fixes your
problem. If so, I'll send it off to Andrew and Linus: the rest of the
PageReserved fixes, including the sound driver Bad page state fixes,
have gone into Linus' git tree today: perhaps this is the missing piece.
If this does not work for you, then presumably you'd be another sound
driver sufferer? and I should send you that patch (or you pick it up
from yesterday's LKML). But right now I'd selfishly like you to test
just this DRM patch below.
Thanks,
Hugh
--- 2.6.15-rc2/drivers/char/drm/drm_memory.c 2005-11-20 19:43:39.000000000 +0000
+++ linux/drivers/char/drm/drm_memory.c 2005-11-21 10:10:45.000000000 +0000
@@ -95,7 +95,7 @@ unsigned long drm_alloc_pages(int order,
unsigned long addr;
unsigned int sz;
- address = __get_free_pages(GFP_KERNEL, order);
+ address = __get_free_pages(GFP_KERNEL|__GFP_COMP, order);
if (!address)
return 0;
--- 2.6.15-rc2/drivers/char/drm/drm_memory_debug.h 2005-11-20 19:43:39.000000000 +0000
+++ linux/drivers/char/drm/drm_memory_debug.h 2005-11-21 10:11:04.000000000 +0000
@@ -221,7 +221,7 @@ unsigned long DRM(alloc_pages) (int orde
}
spin_unlock(&DRM(mem_lock));
- address = __get_free_pages(GFP_KERNEL, order);
+ address = __get_free_pages(GFP_KERNEL|__GFP_COMP, order);
if (!address) {
spin_lock(&DRM(mem_lock));
++DRM(mem_stats)[area].fail_count;
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-11-23 20:33 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-18 19:15 2.6.15-rc1-mm2 0x414 Bad page states Hugh Dickins
2005-11-18 20:12 ` Dominik Brodowski
2005-11-18 20:42 ` Rafael J. Wysocki
2005-11-19 4:30 ` Nick Piggin
2005-11-19 4:33 ` Nick Piggin
[not found] ` <Pine.LNX.4.61.0511182214200.4797@goblin.wat.veritas.com>
2005-11-19 19:57 ` Hugh Dickins
2005-11-19 22:42 ` Dominik Brodowski
2005-11-20 10:14 ` Marc Koschewski
2005-11-21 13:02 ` Christian Kujau
[not found] ` <20051122211625.165F114CB@hornet.berlios.de>
2005-11-22 21:32 ` Hugh Dickins
[not found] ` <20051122231603.2209814DA@hornet.berlios.de>
2005-11-23 11:07 ` Dave Airlie
2005-11-23 20:33 ` Hugh Dickins
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox