Re: [PATCH v7] xen/grant-table: Avoid m2p_override during mapping

From: Matt Wilson
Date: Tue Feb 04 2014 - 01:37:06 EST


On Mon, Feb 03, 2014 at 01:24:58PM +0000, Zoltan Kiss wrote:
> 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
>
> v7:
> - the previous version broke build on ARM, as there is no need for those p2m
> changes. I've put them into arch specific functions, which are stubs on arm
>
> Signed-off-by: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>
> Suggested-by: David Vrabel <david.vrabel@xxxxxxxxxx>

You're still forgetting that this was originally proposed by Anthony
Liguori <aliguori@xxxxxxxxxx>.

https://lkml.kernel.org/r/1384307336-5328-1-git-send-email-anthony@xxxxxxxxxxxxx

--msw
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/