Displaying 18 results from an estimated 18 matches for "increase_reserv".
2012 Oct 17
1
[PATCH 1/6] xen: balloon: allow PVMMU interfaces to be compiled out
...and
converting it into Linux mcelog format for mcelog tools
+config XEN_HAVE_PVMMU
+ bool
+
endmenu
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index db3aa34..92449a0 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -360,6 +360,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
if (!xen_feature(XENFEAT_auto_translated_physmap))
set_phys_to_machine(pfn, frame_list[i]);
+#ifdef CONFIG_XEN_HAVE_PVMMU
/* Link back into the page tables if not highmem. */
if (xen_pv_domain() && !PageHighMem(page) &&
!xen_feature...
2006 May 22
1
[Xen-ia64-devel] RE: Re: [PATCH] Disable auto-balloon on ia64
...question by far is that ia64 describes the memory hierarchy
presented to domain by d->max_pages. Before balloon is ready, we at
least need to ensure all frames covered by d->max_pages allocated for
target domain. Then there''re two alternatives:
- Keep the first piece of change on increase_reservation, which
ensures all pages including extra spaces allocated immediately.
- Pass the extra memory size to xen at arch_set_info_guest, and
then change xen/ia64 to only tell domain maximum pfns as
d->max_pages-extra_size
Both need to be changed again later if balloon is ready. So I prefer t...
2013 Nov 14
4
[PATCH] xen/arm: Allow balooning working with 1:1 memory mapping
...100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -28,6 +28,9 @@
#include <public/memory.h>
#include <xsm/xsm.h>
#include <xen/trace.h>
+#ifdef CONFIG_ARM
+#include <asm/platform.h>
+#endif
struct memop_args {
/* INPUT */
@@ -90,7 +93,7 @@ static void increase_reservation(struct memop_args *a)
static void populate_physmap(struct memop_args *a)
{
- struct page_info *page;
+ struct page_info *page = NULL;
unsigned long i, j;
xen_pfn_t gpfn, mfn;
struct domain *d = a->domain;
@@ -122,7 +125,33 @@ static void populate_physmap(struct memo...
2007 Apr 28
4
confused about the balloon code
hi
I try to understand the code of balloon ,and got confused about the
following parts of code:
static int decrease_reservation(unsigned long nr_pages)
{
....
if (!PageHighMem(page)) {
v = phys_to_virt(pfn << PAGE_SHIFT);
scrub_pages(v, 1);
ret = HYPERVISOR_update_va_mapping(
(unsigned long)v, __pte_ma(0), 0);
2005 Dec 16
3
[PATCH] 0/7 xen: Add basic NUMA support
...or will attempt to find
pages local to the cpu where possible, but will fall back on using
memory that is of the requested size rather than fragmenting larger
contiguous chunks to find local pages. We expect to tune this algorithm
in the future after further study.
We also modified Xen''s increase_reservation memory op to balance memory
distribution across the vcpus in use by a domain. Relying on previous
patches which have already been committed to xen-unstable, a guest can be
constructed such that its entire memory is contained within a specific
NUMA node.
We''ve added a keyhandler for...
2010 Aug 06
5
[PATCH] GSoC 2010 - Memory hotplug support for Xen guests - second fully working version - once again
...nsigned long current_target(void)
return target;
}
+
+static inline u64 is_memory_resource_reserved(void)
+{
+ return 0;
+}
+
+static inline int allocate_additional_memory(unsigned long nr_pages)
+{
+ return 0;
+}
+
+static inline void hotplug_allocated_memory(void)
+{
+}
#endif
static int increase_reservation(unsigned long nr_pages)
{
- unsigned long uninitialized_var(pfn), i, flags;
- struct page *uninitialized_var(page);
+ unsigned long pfn, i, flags;
+ struct page *page;
long rc;
struct xen_memory_reservation reservation = {
.address_bits = 0,
@@ -224,63 +426,11 @@ stati...
2008 Apr 22
4
[PATCH 0/3] xen: more portability patches
Hi Jeremy.
Here are the 3 patches for ia64/xen support.
The first one is just to move manage.c under drivers/xen.
This is trivial.
The second and third ones are for compilation fix on ia64.
You may want to postpone those 2 patches to make your merge task
easy as you said before.
thanks,
Diffstat
arch/x86/xen/Makefile | 2 +-
drivers/xen/Makefile | 2 +-
2008 Apr 22
4
[PATCH 0/3] xen: more portability patches
Hi Jeremy.
Here are the 3 patches for ia64/xen support.
The first one is just to move manage.c under drivers/xen.
This is trivial.
The second and third ones are for compilation fix on ia64.
You may want to postpone those 2 patches to make your merge task
easy as you said before.
thanks,
Diffstat
arch/x86/xen/Makefile | 2 +-
drivers/xen/Makefile | 2 +-
2010 Aug 12
13
[PATCH] GSoC 2010 - Memory hotplug support for Xen guests - third fully working version
...balloon_stats.current_pages because additional
+ * memory allocation is not possible.
+ */
+ balloon_stats.target_pages = balloon_stats.current_pages;
+
return 0;
}
static inline void hotplug_allocated_memory(void)
{
}
-#endif
+#endif /* CONFIG_XEN_BALLOON_MEMORY_HOTPLUG */
static int increase_reservation(unsigned long nr_pages)
{
@@ -553,7 +498,7 @@ static void balloon_process(struct work_struct *work)
mutex_lock(&balloon_mutex);
do {
- credit = current_target() - balloon_stats.current_pages;
+ credit = balloon_stats.target_pages - balloon_stats.current_pages;
if (credit >...
2013 May 26
6
[PATCH v8, part3 12/14] mm: correctly update zone->mamaged_pages
...mp;page->lru);
- if (PageHighMem(page)) {
+ if (PageHighMem(page))
balloon_stats.balloon_high--;
- inc_totalhigh_pages();
- } else
+ else
balloon_stats.balloon_low--;
- totalram_pages++;
+ adjust_managed_page_count(page, 1);
return page;
}
@@ -372,9 +361,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
#endif
/* Relinquish the page back to the allocator. */
- ClearPageReserved(page);
- init_page_count(page);
- __free_page(page);
+ __free_reserved_page(page);
}
balloon_stats.current_pages += rc;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index f8feeec..95...
2013 May 26
6
[PATCH v8, part3 12/14] mm: correctly update zone->mamaged_pages
...mp;page->lru);
- if (PageHighMem(page)) {
+ if (PageHighMem(page))
balloon_stats.balloon_high--;
- inc_totalhigh_pages();
- } else
+ else
balloon_stats.balloon_low--;
- totalram_pages++;
+ adjust_managed_page_count(page, 1);
return page;
}
@@ -372,9 +361,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
#endif
/* Relinquish the page back to the allocator. */
- ClearPageReserved(page);
- init_page_count(page);
- __free_page(page);
+ __free_reserved_page(page);
}
balloon_stats.current_pages += rc;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index f8feeec..95...
2013 May 26
6
[PATCH v8, part3 12/14] mm: correctly update zone->mamaged_pages
...mp;page->lru);
- if (PageHighMem(page)) {
+ if (PageHighMem(page))
balloon_stats.balloon_high--;
- inc_totalhigh_pages();
- } else
+ else
balloon_stats.balloon_low--;
- totalram_pages++;
+ adjust_managed_page_count(page, 1);
return page;
}
@@ -372,9 +361,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
#endif
/* Relinquish the page back to the allocator. */
- ClearPageReserved(page);
- init_page_count(page);
- __free_page(page);
+ __free_reserved_page(page);
}
balloon_stats.current_pages += rc;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index f8feeec..95...
2013 May 11
0
[PATCH v6, part3 13/16] mm: correctly update zone->mamaged_pages
...mp;page->lru);
- if (PageHighMem(page)) {
+ if (PageHighMem(page))
balloon_stats.balloon_high--;
- inc_totalhigh_pages();
- } else
+ else
balloon_stats.balloon_low--;
- totalram_pages++;
+ adjust_managed_page_count(page, 1);
return page;
}
@@ -374,9 +363,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
#endif
/* Relinquish the page back to the allocator. */
- ClearPageReserved(page);
- init_page_count(page);
- __free_page(page);
+ __free_reserved_page(page);
}
balloon_stats.current_pages += rc;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index f8feeec..95...
2013 May 11
0
[PATCH v6, part3 13/16] mm: correctly update zone->mamaged_pages
...mp;page->lru);
- if (PageHighMem(page)) {
+ if (PageHighMem(page))
balloon_stats.balloon_high--;
- inc_totalhigh_pages();
- } else
+ else
balloon_stats.balloon_low--;
- totalram_pages++;
+ adjust_managed_page_count(page, 1);
return page;
}
@@ -374,9 +363,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
#endif
/* Relinquish the page back to the allocator. */
- ClearPageReserved(page);
- init_page_count(page);
- __free_page(page);
+ __free_reserved_page(page);
}
balloon_stats.current_pages += rc;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index f8feeec..95...
2013 May 11
0
[PATCH v6, part3 13/16] mm: correctly update zone->mamaged_pages
...mp;page->lru);
- if (PageHighMem(page)) {
+ if (PageHighMem(page))
balloon_stats.balloon_high--;
- inc_totalhigh_pages();
- } else
+ else
balloon_stats.balloon_low--;
- totalram_pages++;
+ adjust_managed_page_count(page, 1);
return page;
}
@@ -374,9 +363,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
#endif
/* Relinquish the page back to the allocator. */
- ClearPageReserved(page);
- init_page_count(page);
- __free_page(page);
+ __free_reserved_page(page);
}
balloon_stats.current_pages += rc;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index f8feeec..95...
2012 Oct 04
49
[RFC 00/14] arm: implement ballooning and privcmd foreign mappings based on x86 PVH
This series implements ballooning for Xen on ARM and builds and Mukesh''s
PVH privcmd stuff to implement foreign page mapping on ARM, replacing
the old "HACK: initial (very hacky) XENMAPSPACE_gmfn_foreign" patch.
The baseline is a bit complex, it is basically Stefano''s xenarm-forlinus
branch (commit bbd6eb29214e) merged with Konrad''s linux-next-pvh branch
2013 Oct 16
4
[PATCH 1/7] xen: vNUMA support for PV guests
Defines XENMEM subop hypercall for PV vNUMA
enabled guests and data structures that provide vNUMA
topology information from per-domain vnuma topology
build info.
Signed-off-by: Elena Ufimtseva <ufimtseva@gmail.com>
---
Changes since RFC v2:
- fixed code style;
- the memory copying in hypercall happens in one go for arrays;
- fixed error codes logic;
---
xen/common/domain.c | 10
2012 Nov 15
1
[RFC/PATCH v4] XENMEM_claim_pages (subop of existing) hypercall
...ixes [djm]
===
Motivation:
The goal of this hypercall
is to attempt to atomically and very quickly determine if
there are sufficient pages available in the system and, if
so, "set aside" that quantity of pages for future allocations
by that domain. Unlike an existing hypercall such as
increase_reservation or populate_physmap, specific physical
pageframes are not assigned to the domain because this
cannot be done sufficiently quickly (especially for very large
allocations in an arbitrarily fragmented system) and so the
existing mechanisms result in classic time-of-check-time-of-use
(TOCTOU) race...