|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [linux-2.6.18-xen] xen/balloon: prefer using pages from
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1260981813 0
# Node ID 7a52ef05b612c8c8ea708a9175d49799a36cc4e2
# Parent 5e08fff8dc05977d802d0aa2b71f010e473ca085
xen/balloon: prefer using pages from balloon in alloc_empty_pages_and_pagevec()
This is both faster and less demanding on kernel resources.
Likely also something that could be done in the pv-ops tree (though it
would need some adjustment to deal with the balloon_order!=0 case).
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
drivers/xen/balloon/balloon.c | 11 +++++++++++
1 files changed, 11 insertions(+)
diff -r 5e08fff8dc05 -r 7a52ef05b612 drivers/xen/balloon/balloon.c
--- a/drivers/xen/balloon/balloon.c Fri Dec 11 08:47:19 2009 +0000
+++ b/drivers/xen/balloon/balloon.c Wed Dec 16 16:43:33 2009 +0000
@@ -602,6 +602,17 @@ struct page **alloc_empty_pages_and_page
return NULL;
for (i = 0; i < nr_pages; i++) {
+ balloon_lock(flags);
+ page = balloon_first_page();
+ if (page && !PageHighMem(page)) {
+ UNLIST_PAGE(page);
+ bs.balloon_low--;
+ balloon_unlock(flags);
+ pagevec[i] = page;
+ continue;
+ }
+ balloon_unlock(flags);
+
page = pagevec[i] = alloc_page(GFP_KERNEL|__GFP_COLD);
if (page == NULL)
goto err;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [linux-2.6.18-xen] xen/balloon: prefer using pages from balloon in alloc_empty_pages_and_pagevec(),
Xen patchbot-linux-2.6.18-xen <=
|
|
|
|
|