On 19/09/17 10:47, Paul Durrant wrote:
-----Original Message-----
From: Julien Grall [mailto:julien.gr...@arm.com]
Sent: 19 September 2017 10:40
To: Jan Beulich <jbeul...@suse.com>; Paul Durrant
<paul.durr...@citrix.com>
Cc: Andrew Cooper <andrew.coop...@citrix.com>; George Dunlap
<george.dun...@citrix.com>; Ian Jackson <ian.jack...@citrix.com>; Wei Liu
<wei.l...@citrix.com>; sstabell...@kernel.org; xen-devel@lists.xen.org; Tim
(Xen.org) <t...@xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xen: grant-table: Simplify
get_paged_frame

Hi,

On 19/09/17 09:56, Jan Beulich wrote:
On 19.09.17 at 10:34, <paul.durr...@citrix.com> wrote:
I do wonder whether this function belongs in the grant table code though.
Getting the page from a (d, gfn) tuple is probably something that's
needed in
a few places and hence putting the code in common/memory.c (with
suitable
adjustment to the error values) would seem more appropriate.

That's been true from the very beginning of the existence of
the function, I think.

I am not sure how this function would fit in common/memory.c code. We
already have get_page_from_gfn to get a page from the tuple (d, gfn).


But that doesn't have the extra logic for populating and unsharing right? 
Otherwise why would get_paged_frame() need to exist at all?

This code does not have the logic to unshare. It just denies it.

There are multiple places in grant-table which require similar check. Hence why the helper is here to avoid duplicating the code in grant_table.c.

With this patch, this will contain specific check for grant mapping, such as denying foreign mapping. Are we going to impose that for get_paged_frame in common/memory.c?


This function adds more check that may not fit everyone. The only place
I could see potential usage is prepare_ring_for_helper. But what would
be a suitable name given?


I would leave the name alone and just move the code.
The name does not make sense in common/memory.c. Why would you allow populating but not unsharing? This looks to me a decision that fits grant-table and not necessarily the rest of the Xen.

So I still don't think this would be a suitable function in common/memory.c

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to