[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] X86: Fix mce offline page bug



X86: Fix mce offline page bug

c/s 19913 break mce offline page logic:
For page_state_is(pg, free), it's impossible to trigger the case;
For page_state_is(pg, offlined), it in fact didn't offline related page;

This patch fix the bug, and remove an ambiguous comment.

Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>

diff -r 808735ebbb59 xen/common/page_alloc.c
--- a/xen/common/page_alloc.c   Tue Mar 29 18:03:15 2011 +0800
+++ b/xen/common/page_alloc.c   Wed Mar 30 14:44:55 2011 +0800
@@ -611,10 +611,6 @@ static void free_heap_pages(
 
 
 /*
- * Following possible status for a page:
- * free and Online; free and offlined; free and offlined and broken;
- * assigned and online; assigned and offlining; assigned and offling and broken
- *
  * Following rules applied for page offline:
  * Once a page is broken, it can't be assigned anymore
  * A page will be offlined only if it is free
@@ -711,14 +707,9 @@ int offline_page(unsigned long mfn, int 
 
     old_info = mark_page_offline(pg, broken);
 
-    if ( page_state_is(pg, free) )
+    if ( page_state_is(pg, offlined) )
     {
-        /* Free pages are reserve directly */
         reserve_heap_page(pg);
-        *status = PG_OFFLINE_OFFLINED;
-    }
-    else if ( page_state_is(pg, offlined) )
-    {
         *status = PG_OFFLINE_OFFLINED;
     }
     else if ( (owner = page_get_owner_and_reference(pg)) )

Attachment: mce_offline_page_fix.patch
Description: mce_offline_page_fix.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.