All of 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
  -- strict thread matches above, loose matches on Subject: below --
2007-07-14  1:18 [PATCH] i386 CPA fix - do not free reserved pages Mathieu Desnoyers

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.