|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] Use domheap instead of xenheap for
# HG changeset patch
# User awilliam@xxxxxxxxxxxx
# Date 1173886420 21600
# Node ID c0cdb349a11ac4b401a12b46593cb9d6605f8f66
# Parent cb2575cec95c9960c30133725943a0da81daa2f5
[IA64] Use domheap instead of xenheap for P2M table
This allows larger memory configurations without exhausting xenheap.
New boot option 'p2m_xenheap' reverts to previous behavior.
Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
---
xen/arch/ia64/xen/mm.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletion(-)
diff -r cb2575cec95c -r c0cdb349a11a xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c Mon Mar 12 10:07:08 2007 -0600
+++ b/xen/arch/ia64/xen/mm.c Wed Mar 14 09:33:40 2007 -0600
@@ -1903,9 +1903,20 @@ void __free_pages(struct page_info *page
free_xenheap_page(page);
}
+static int opt_p2m_xenheap;
+boolean_param("p2m_xenheap", opt_p2m_xenheap);
+
void *pgtable_quicklist_alloc(void)
{
void *p;
+ if (!opt_p2m_xenheap) {
+ struct page_info *page = alloc_domheap_page(NULL);
+ if (page == NULL)
+ return NULL;
+ p = page_to_virt(page);
+ clear_page(p);
+ return p;
+ }
p = alloc_xenheap_pages(0);
if (p)
clear_page(p);
@@ -1914,7 +1925,10 @@ void *pgtable_quicklist_alloc(void)
void pgtable_quicklist_free(void *pgtable_entry)
{
- free_xenheap_page(pgtable_entry);
+ if (!opt_p2m_xenheap)
+ free_domheap_page(virt_to_page(pgtable_entry));
+ else
+ free_xenheap_page(pgtable_entry);
}
void put_page_type(struct page_info *page)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] Use domheap instead of xenheap for P2M table,
Xen patchbot-unstable <=
|
|
|
|
|