This avoids losing precious special memory in places where any memory can be
used.
-Index: head-2008-11-20/arch/x86/mm/hypervisor.c
-===================================================================
---- head-2008-11-20.orig/arch/x86/mm/hypervisor.c 2008-11-21 15:51:34.000000000 +0100
-+++ head-2008-11-20/arch/x86/mm/hypervisor.c 2008-11-17 12:12:39.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/mm/hypervisor.c 2009-03-16 16:17:45.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/hypervisor.c 2009-03-30 12:18:24.000000000 +0200
@@ -42,6 +42,7 @@
#include <xen/interface/memory.h>
#include <linux/module.h>
#include <asm/tlbflush.h>
#include <linux/highmem.h>
-@@ -668,6 +669,83 @@ void xen_destroy_contiguous_region(unsig
+@@ -712,6 +713,83 @@ void xen_destroy_contiguous_region(unsig
BUG();
balloon_unlock(flags);
}
EXPORT_SYMBOL_GPL(xen_destroy_contiguous_region);
-Index: head-2008-11-20/drivers/xen/balloon/balloon.c
-===================================================================
---- head-2008-11-20.orig/drivers/xen/balloon/balloon.c 2008-11-21 15:56:56.000000000 +0100
-+++ head-2008-11-20/drivers/xen/balloon/balloon.c 2008-11-21 16:00:18.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/balloon/balloon.c 2008-11-25 13:34:52.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/balloon/balloon.c 2009-03-16 16:40:33.000000000 +0100
@@ -687,7 +687,7 @@ struct page **alloc_empty_pages_and_page
goto out;
}
void balloon_release_driver_page(struct page *page)
{
unsigned long flags;
-Index: head-2008-11-20/include/xen/balloon.h
-===================================================================
---- head-2008-11-20.orig/include/xen/balloon.h 2008-11-21 15:51:34.000000000 +0100
-+++ head-2008-11-20/include/xen/balloon.h 2008-11-21 09:39:34.000000000 +0100
+--- sle11-2009-05-14.orig/include/xen/balloon.h 2009-03-16 16:38:05.000000000 +0100
++++ sle11-2009-05-14/include/xen/balloon.h 2009-03-16 16:40:33.000000000 +0100
@@ -47,6 +47,10 @@ void balloon_update_driver_allowance(lon
struct page **alloc_empty_pages_and_pagevec(int nr_pages);
void free_empty_pages_and_pagevec(struct page **pagevec, int nr_pages);