LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* 2.6.22-rc6-mm1 bad_page events.
@ 2007-07-03 14:06 Alan Cox
  2007-07-03 15:37 ` Mathieu Desnoyers
  2007-07-03 15:55 ` 2.6.22-rc6-mm1 bad_page events Andrew Morton
  0 siblings, 2 replies; 7+ messages in thread
From: Alan Cox @ 2007-07-03 14:06 UTC (permalink / raw)
  To: akpm, linux-kernel

X86 32bit with lots of debug turned on I get this:



Freeing unused kernel memory: 156k freed
Write protecting the kernel text: 1668k
Write protecting the kernel read-only data: 719k
Bad page state in process 'swapper'
page:c10000c0 flags:0x00000400 mapping:00000000 mapcount:0 count:0
Trying to fix it up, but a reboot is needed
Backtrace:
 [<c024589c>] bad_page+0x6c/0x100
 [<c024648d>] free_hot_cold_page+0x5d/0x140
 [<c02116c2>] global_flush_tlb+0x112/0x130
 [<c020102d>] init_post+0xd/0xe0
 [<c047c876>] kernel_init+0x216/0x220
 [<c0214c50>] schedule_tail+0x0/0xe0
 [<c047c660>] kernel_init+0x0/0x220
 [<c047c660>] kernel_init+0x0/0x220
 [<c0204227>] kernel_thread_helper+0x7/0x10
 =======================
Hexdump:
000: 00 06 00 00 01 00 00 00 ff ff ff ff 0f 00 00 00
010: 00 00 00 00 00 00 00 00 78 00 00 c1 b8 00 00 c1
020: 00 06 00 00 01 00 00 00 ff ff ff ff a7 03 00 00
030: 00 00 00 00 00 00 00 00 98 00 00 c1 d8 00 00 c1
040: 00 04 00 00 00 00 00 00 ff ff ff ff 00 00 00 00
050: 00 00 00 00 00 00 00 00 b8 00 00 c1 f8 00 00 c1
060: 00 06 00 00 01 00 00 00 ff ff ff ff 00 04 00 00
070: 00 00 00 00 00 00 00 00 d8 00 00 c1 18 01 00 c1
080: 00 06 00 00 01 00 00 00 ff ff ff ff 9c 03 00 00
090: 00 00 00 00 00 00 00 00 f8 00 00 c1 38 01 00 c1
0a0: 00 06 00 00 01 00 00 00 ff ff ff ff 00 04 00 00
0b0: 00 00 00 00 00 00 00 00 18 01 00 c1 58 01 00 c1

^ permalink raw reply	[flat|nested] 7+ messages in thread
* [PATCH] i386 CPA fix - do not free reserved pages
@ 2007-07-14  1:18 Mathieu Desnoyers
  0 siblings, 0 replies; 7+ messages in thread
From: Mathieu Desnoyers @ 2007-07-14  1:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Andi Kleen

i386 CPA fix - do not free reserved pages

We have to use the same conditions found in change_page_attr in
global_tlb_flush regarding the conditions that leads to free the page.

It applies to 2.6.22-rc6-mm1 (as it been applied for the next one ?)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Andi Kleen <andi@firstfloor.org>
---
 arch/i386/mm/pageattr.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6-lttng/arch/i386/mm/pageattr.c
===================================================================
--- linux-2.6-lttng.orig/arch/i386/mm/pageattr.c	2007-07-03 13:25:48.000000000 -0400
+++ linux-2.6-lttng/arch/i386/mm/pageattr.c	2007-07-03 13:28:34.000000000 -0400
@@ -247,7 +247,7 @@
 	list_for_each_entry_safe(pg, next, &l, lru) {
 		clear_bit(PG_arch_1, &pg->flags);
 		list_del(&pg->lru);
-		if (page_private(pg) != 0)
+		if (PageReserved(pg) || !cpu_has_pse || page_private(pg) != 0)
 			continue;
 		ClearPagePrivate(pg);
 		__free_page(pg);

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-07-14  1:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-03 14:06 2.6.22-rc6-mm1 bad_page events Alan Cox
2007-07-03 15:37 ` Mathieu Desnoyers
2007-07-03 16:26   ` Frederik Deweerdt
2007-07-03 17:33     ` [PATCH] i386 CPA fix - do not free reserved pages Mathieu Desnoyers
2007-07-03 19:20       ` Frederik Deweerdt
2007-07-03 15:55 ` 2.6.22-rc6-mm1 bad_page events Andrew Morton
2007-07-14  1:18 [PATCH] i386 CPA fix - do not free reserved pages Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).