search for: alloc_domheap_page

Displaying 20 results from an estimated 23 matches for "alloc_domheap_page".

Did you mean: alloc_domheap_pages
2012 Mar 15
3
[PATCH] arm: allocate top level p2m page for all non-idle VCPUs
...o.ram_start, kinfo.ram_end); diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index 051a0e8..4f624d8 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -203,7 +203,7 @@ int p2m_alloc_table(struct domain *d) void *p; /* First level P2M is 2 consecutive pages */ - page = alloc_domheap_pages(d, 1, 0); + page = alloc_domheap_pages(NULL, 1, 0); if ( page == NULL ) return -ENOMEM; -- 1.7.2.5
2008 Aug 12
4
Not enough RAM for domain 0 allocation.
Hi all, I have been trying to use Xen with a diskless workstation. My system has 3G of RAM. I have built a ramdisk (whose size is 450M) and I''m trying to load everything in memory (Xen,Dom0 and the ramdisk). In the file arch/x86/domain_build.c the function alloc_domheap_pages is invoked page=alloc_domheap_pages(d,order,MEMF_bit(30); // in my case order =17 This function returns a NULL pointer, which generates the error "Not enough RAM for domain 0 allocation" It seems that if the total size of hypervisor+dom0+ramdisk is less than 256M everything works, if i...
2006 Sep 29
0
[PATCH 2/6] xen: add per-node bucks to page allocator
...igned int o int i; local_irq_save(flags); - pg = alloc_heap_pages(MEMZONE_XEN, order); + pg = alloc_heap_pages(MEMZONE_XEN, smp_processor_id(), order); local_irq_restore(flags); if ( unlikely(pg == NULL) ) @@ -580,8 +637,9 @@ int assign_pages( } -struct page_info *alloc_domheap_pages( - struct domain *d, unsigned int order, unsigned int memflags) +struct page_info *__alloc_domheap_pages( + struct domain *d, unsigned int cpu, unsigned int order, + unsigned int memflags) { struct page_info *pg = NULL; cpumask_t mask; @@ -591,17 +649,17 @@ struct page_info *a...
2013 Nov 14
4
[PATCH] xen/arm: Allow balooning working with 1:1 memory mapping
...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 memop_args *a) } else { - page = alloc_domheap_pages(d, a->extent_order, a->memflags); +#ifdef CONFIG_ARM + if ( d == dom0 && platform_has_quirk(PLATFORM_QUIRK_DOM0_MAPPING_11) ) + { + mfn = gpfn; + if (!mfn_valid(mfn)) + { + gdprintk(XENLOG_INFO, &qu...
2011 Jan 28
3
Doubt regarding virtual memory mapping from hypervisor to a domain
Hi, I have allocated few order=9 pages in Xen memory space using alloc_domheap_pages(NULL,9,0) during boot time just before domain is created (dom0 = domain_create(0, DOMCRF_s3_integrity, DOM0_SSIDREF) in xen/arch/x86/setup.c). I got the following virtual addresses in xen log message- (XEN) a2k2: Virt_addr:ffff83011cc00000 MFN:11cc00 (XEN) a2k2: Virt_addr:ffff83011ca00000 MFN...
2005 Sep 05
0
[PATCH][4/6] Add to virtual device operations
...fn_to_mfn(d, gva >> PAGE_SHIFT); + mpl2e = current->arch.monitor_vtable; + if ( mpl2e[l2_table_offset(hva)].l2 ){ + printk("map of hva 0x%lx already exists\n",hva); + return -1; + } + + /* alloc l1 page table */ + d->max_pages++; + l1_mfn_info = alloc_domheap_page(d); + if (!l1_mfn_info){ + printk("alloc_domheap_page failed\n"); + return -1; + } + l1_mfn = page_to_pfn(l1_mfn_info); + printk("map_param_share_page: alloc page at 0x%lx\n", l1_mfn); + + /* set l2 page table entry */ + mpl2e[l2_table_offset(hva)...
2012 Oct 11
14
alloc_heap_pages is low efficient with more CPUs
I am confused with a problem: I have a blade with 64 physical CPUs and 64G physical RAM, and defined only one VM with 1 CPU and 40G RAM. For the first time I started the VM, it just took 3s, But for the second starting it took 30s. After studied it by printing log, I have located a place in the hypervisor where cost too much time, occupied 98% of the whole starting time. xen/common/page_alloc.c
2008 Nov 18
6
[PATCH] fix memory allocation from NUMA node for VT-d.
...#include "../dmar.h" #include "../vtd.h" @@ -37,13 +38,21 @@ } /* Allocate page table, return its machine address */ -u64 alloc_pgtable_maddr(void) +u64 alloc_pgtable_maddr(struct domain *d) { struct page_info *pg; u64 *vaddr; unsigned long mfn; - pg = alloc_domheap_page(NULL, 0); + if (d == NULL) + { + pg = alloc_domheap_page(NULL, 0); + } + else + { + pg = alloc_domheap_page(NULL, MEMF_node(domain_to_node(d))); + } + if ( !pg ) return 0; mfn = page_to_mfn(pg); _______________________________________________ Xen...
2011 Sep 23
2
Some problems about xenpaging
...-675,6 +675,23 @@ BUG_ON(p2md->pod.entry_count < 0); pod--; } + else if ( steal_for_cache && p2m_is_paging(t) ) + { + struct page_info *page; + /* alloc a new page to compensate the pod list */ + page = alloc_domheap_page(d, 0); + if ( unlikely(page == NULL) ) + { + goto out_entry_check; + } + set_p2m_entry(d, gpfn + i, _mfn(INVALID_MFN), 0, p2m_invalid); + p2m_mem_paging_drop_page(d, gpfn+i); + p2m_pod_cache_add(d, page, 0); +...
2013 Oct 30
4
Re: Issue with ARM: Network doesn't work in the guest
2013/10/29, mail fetch <fetchmail.0104@gmail.com>: > Hi all, > > I just saw a know bug from wiki that network doesn''t work in guest in > arndale board : > > Network doesn''t work in the guest > > Contact: julien.grall@citrix.com > Status: In progress > Description: Network doesn''t work in the guest when an ehternet cable is > plugged
2011 Mar 09
0
[PATCH 1/5] x86: don''t BUG() post-boot in alloc_xen_pagetable()
...ge(); - BUG_ON(v == NULL); + + BUG_ON(!dom0 && !v); return v; } --- 2011-03-09.orig/xen/arch/x86/x86_64/mm.c +++ 2011-03-09/xen/arch/x86/x86_64/mm.c @@ -84,8 +84,9 @@ void *alloc_xen_pagetable(void) if ( !early_boot ) { struct page_info *pg = alloc_domheap_page(NULL, 0); - BUG_ON(pg == NULL); - return page_to_virt(pg); + + BUG_ON(!dom0 && !pg); + return pg ? page_to_virt(pg) : NULL; } mfn = alloc_boot_pages(1, 1); @@ -100,6 +101,9 @@ l3_pgentry_t *virt_to_xen_l3e(unsigned l if ( !(l4e_get_flags(*pl4e) &...
2013 Jan 21
6
[PATCH v3 0/4] nested vmx: enable VMCS shadowing feature
Changes from v2 to v3: - Use pfn_to_paddr() to get the address from frame number instead of doing shift directly. - Remove some unnecessary initialization code and add "static" to vmentry_fields and gpdptr_fields. - Enable the VMREAD/VMWRITE bitmap only if nested hvm is enabled. - Use clear_page() to set all 0 to the page instead of memset(). - Use domheap to allocate the
2013 Dec 06
36
[V6 PATCH 0/7]: PVH dom0....
Hi, V6: The only change from V5 is in patch #6: - changed comment to reflect autoxlate - removed a redundant ASSERT - reworked logic a bit so that get_page_from_gfn() is called with NULL for p2m type as before. arm has ASSERT wanting it to be NULL. Tim: patch 4 needs your approval. Daniel: patch 5 needs your approval. These patches implement PVH dom0. Patches 1 and 2
2013 Nov 22
2
Question about the memory layout of xen hypervisor, dom0 and domU
...s). But it''s unclear which RAM area is allocated. I read the paravirtualised memory management on http://wiki.xen.org/wiki/X86_Paravirtualised_Memory_Management; but it only shows the virtual address range of each domain. I also looked at the xen/common/page_alloc.c; I think the function alloc_domheap_pages() is used to allocate machine pages to doms, and alloc_xenheap_pages() is used to allocate machine pages to hypervisor. Maybe I can just print out the machine address when each machine page is allocated and freed. But it seems too nasty. *My question is: Is there any command or tool showing the...
2009 Jul 15
0
[PATCH] rename for_each_cpu() to for_each_possible_cpu()
...em_xen.c 2009-07-15 10:02:38.000000000 +0200 @@ -317,7 +317,7 @@ EXPORT int tmh_init(void) dstmem_order = get_order_from_pages(LZO_DSTMEM_PAGES); workmem_order = get_order_from_bytes(LZO1X_1_MEM_COMPRESS); - for_each_cpu ( cpu ) + for_each_possible_cpu ( cpu ) { pi = alloc_domheap_pages(0,dstmem_order,0); per_cpu(dstmem, cpu) = p1 = ((pi == NULL) ? NULL : page_to_virt(pi)); --- 2009-07-10.orig/xen/include/xen/cpumask.h 2009-05-27 13:54:07.000000000 +0200 +++ 2009-07-10/xen/include/xen/cpumask.h 2009-07-15 10:04:01.000000000 +0200 @@ -61,7 +61,7 @@ * * int any_online_...
2013 Nov 25
22
[PATCH v3 00/13] xen: arm initial support for xgene arm64 platform
George has release acked all of these. Otherwise mostly minor updates this time around. Summary: A == acked, M == modified A xen: arm64: Add 8250 earlyprintk support A xen: arm64: Add Basic Platform support for APM X-Gene Storm. A xen: arm64: Add APM implementor id to processor implementers. M xen: arm: add a quirk to handle platforms with unusual GIC layout A xen: arm: allow platform
2020 Jul 18
25
[PATCH 00/12] Bunch of patches for cross-compilatio + RP4
Initially out there as #965245. I strongly prefer to build ARM64 packages on non-ARM systems. Something about my main build machine having twice the cores and twice the clock speed. As such after many builds I've managed to generate a set of patches which appear to mostly function to get functioning cross-builds of Xen. These are NOT a 100% solution. Some packaging hacks were needed. In
2013 Nov 06
0
[PATCH v5 5/6] xen/arm: Implement hypercall for dirty page tracing
...tart, &gma_end); + + nr_bytes = (PFN_DOWN(gma_end - gma_start) + 7) / 8; + nr_pages = (nr_bytes + PAGE_SIZE - 1) / PAGE_SIZE; + + BUG_ON( nr_pages > MAX_DIRTY_BITMAP_PAGES ); + + for ( i = 0; i < nr_pages; ++i ) + { + struct page_info *page; + page = alloc_domheap_page(NULL, 0); + if ( page == NULL ) + goto cleanup_on_failure; + + d->arch.dirty.bitmap[i] = map_domain_page_global(__page_to_mfn(page)); + clear_page(d->arch.dirty.bitmap[i]); + } + + d->arch.dirty.bitmap_pages = nr_pages; + return 0; + +cle...
2012 Nov 15
1
[RFC/PATCH v4] XENMEM_claim_pages (subop of existing) hypercall
...unsigned long pages); +int domain_set_unclaimed_pages( + struct domain *d, unsigned long pages, unsigned long flags); +long get_total_unclaimed_pages(void); + /* Domain suballocator. These functions are *not* interrupt-safe.*/ void init_domheap_pages(paddr_t ps, paddr_t pe); struct page_info *alloc_domheap_pages( diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 6c55039..480ef39 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -242,6 +242,7 @@ struct domain struct page_list_head page_list; /* linked list */ struct page_list_head xenpage_list; /* linked li...
2013 Nov 20
54
[PATCH+RFC+HACK 00/16] xen: arm initial support for xgene arm64 platform
I''m afraid this series is rather a grab bag and it is distressingly large at this stage. With this series I can boot an Xgene board until it fails to find its SATA controller. This is a dom0 issue for which patches are pending from APM (/me nudges Anup). As well as the APM specific platform stuff there are also some generic improvements which were either necessary or useful during this