[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4] xen/arm: Add RESERVE option to reserve non-leaf level table entries
On Tue, 2015-03-24 at 17:14 +0530, vijay.kilari@xxxxxxxxx wrote: > From: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx> > > On x86, for the pages mapped with PAGE_HYPERVISOR attribute > non-leaf page tables are allocated with valid pte entries. > and with MAP_SMALL_PAGES attribute only non-leaf page tables are > allocated with invalid (valid bit set to 0) pte entries. > However on arm this is not the case. On arm for the pages > mapped with PAGE_HYPERVISOR and MAP_SMALL_PAGES both > non-leaf and leaf level page table are allocated with valid bit > in pte entries. > > This behaviour in arm makes common vmap code fail to > allocate memory beyond 128MB as described below. > > In vm_init, map_pages_to_xen() is called for mapping > vm_bitmap. Initially one page of vm_bitmap is allocated > and mapped using PAGE_HYPERVISOR attribute. > For the rest of vm_bitmap pages, MAP_SMALL_PAGES attribute > is used to map. > > In ARM for both PAGE_HYPERVISOR and MAP_SMALL_PAGES, valid bit > is set to 1 in pte entry for these mapping. > > In vm_alloc(), map_pages_to_xen() is failing for >128MB because > for this next vm_bitmap page the mapping is already set in vm_init() > with valid bit set in pte entry. So map_pages_to_xen() in > ARM returns error. > > With this patch, MAP_SMALL_PAGES is dropped and arch specific > populate_pt_range() api is introduced to populate non-leaf > page table entries for the requested pages. Added RESERVE option > to map non-leaf page table entries. > > Signed-off-by: Vijaya Kumar K<Vijaya.Kumar@xxxxxxxxxxxxxxxxxx> > Acked-by: Jan Beulich <jbeulich@xxxxxxxx> Acked + applied, thanks. I changed the title to the more complete/correct: "xen: Add populate_pt_range interface to reserve non-leaf level table entries". I hope that is OK. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |