mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-20 09:31:09 +00:00
08ece5bb23
The grant mapping API does m2p_override unnecessarily: only gntdev needs it, for blkback and future netback patches it just cause a lock contention, as those pages never go to userspace. Therefore this series does the following: - the original functions were renamed to __gnttab_[un]map_refs, with a new parameter m2p_override - based on m2p_override either they follow the original behaviour, or just set the private flag and call set_phys_to_machine - gnttab_[un]map_refs are now a wrapper to call __gnttab_[un]map_refs with m2p_override false - a new function gnttab_[un]map_refs_userspace provides the old behaviour It also removes a stray space from page.h and change ret to 0 if XENFEAT_auto_translated_physmap, as that is the only possible return value there. v2: - move the storing of the old mfn in page->index to gnttab_map_refs - move the function header update to a separate patch v3: - a new approach to retain old behaviour where it needed - squash the patches into one v4: - move out the common bits from m2p* functions, and pass pfn/mfn as parameter - clear page->private before doing anything with the page, so m2p_find_override won't race with this v5: - change return value handling in __gnttab_[un]map_refs - remove a stray space in page.h - add detail why ret = 0 now at some places v6: - don't pass pfn to m2p* functions, just get it locally Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com> Suggested-by: David Vrabel <david.vrabel@citrix.com> Acked-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
||
---|---|---|
.. | ||
apic.c | ||
debugfs.c | ||
debugfs.h | ||
enlighten.c | ||
grant-table.c | ||
irq.c | ||
Kconfig | ||
Makefile | ||
mmu.c | ||
mmu.h | ||
multicalls.c | ||
multicalls.h | ||
p2m.c | ||
pci-swiotlb-xen.c | ||
platform-pci-unplug.c | ||
setup.c | ||
smp.c | ||
smp.h | ||
spinlock.c | ||
suspend.c | ||
time.c | ||
trace.c | ||
vdso.h | ||
vga.c | ||
xen-asm.h | ||
xen-asm.S | ||
xen-asm_32.S | ||
xen-asm_64.S | ||
xen-head.S | ||
xen-ops.h |