xen: map foreign pages for shared rings by updating the PTEs directly
When mapping a foreign page with xenbus_map_ring_valloc() with the GNTTABOP_map_grant_ref hypercall, set the GNTMAP_contains_pte flag and pass a pointer to the PTE (in init_mm). After the page is mapped, the usual fault mechanism can be used to update additional MMs. This allows the vmalloc_sync_all() to be removed from alloc_vm_area(). Signed-off-by:David Vrabel <david.vrabel@citrix.com> Acked-by:
Andrew Morton <akpm@linux-foundation.org> [v1: Squashed fix by Michal for no-mmu case] Signed-off-by:
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by:
Michal Simek <monstr@monstr.eu>
Showing
- arch/x86/xen/grant-table.c 1 addition, 1 deletionarch/x86/xen/grant-table.c
- drivers/xen/xenbus/xenbus_client.c 8 additions, 3 deletionsdrivers/xen/xenbus/xenbus_client.c
- include/linux/vmalloc.h 1 addition, 1 deletioninclude/linux/vmalloc.h
- mm/nommu.c 1 addition, 1 deletionmm/nommu.c
- mm/vmalloc.c 13 additions, 14 deletionsmm/vmalloc.c
Loading
Please register or sign in to comment