From: Julien Grall <julien.grall@arm.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Tim Deegan <tim@xen.org>,
sstabellini@kernel.org, Wei Liu <wei.liu2@citrix.com>,
George Dunlap <george.dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
xen-devel@lists.xen.org, Paul Durrant <paul.durrant@citrix.com>,
wei.chen@linaro.org
Subject: Re: [PATCH 2/8] xen: Use typesafe gfn/mfn in guest_physmap_* helpers
Date: Mon, 20 Jun 2016 12:28:38 +0100 [thread overview]
Message-ID: <5767D366.5080308@arm.com> (raw)
In-Reply-To: <57601B0C02000078000F4C8B@prv-mh.provo.novell.com>
Hi Jan,
On 14/06/16 13:56, Jan Beulich wrote:
>>>> On 14.06.16 at 14:07, <julien.grall@arm.com> wrote:
>> --- a/xen/arch/x86/mm/p2m.c
>> +++ b/xen/arch/x86/mm/p2m.c
>> @@ -665,21 +665,21 @@ p2m_remove_page(struct p2m_domain *p2m, unsigned long gfn, unsigned long mfn,
>> }
>>
>> int
>> -guest_physmap_remove_page(struct domain *d, unsigned long gfn,
>> - unsigned long mfn, unsigned int page_order)
>> +guest_physmap_remove_page(struct domain *d, gfn_t gfn,
>> + mfn_t mfn, unsigned int page_order)
>> {
>> struct p2m_domain *p2m = p2m_get_hostp2m(d);
>> int rc;
>> gfn_lock(p2m, gfn, page_order);
>> - rc = p2m_remove_page(p2m, gfn, mfn, page_order);
>> + rc = p2m_remove_page(p2m, gfn_x(gfn), mfn_x(mfn), page_order);
>> gfn_unlock(p2m, gfn, page_order);
>> return rc;
>> }
>>
>> -int
>> -guest_physmap_add_entry(struct domain *d, unsigned long gfn,
>> - unsigned long mfn, unsigned int page_order,
>> - p2m_type_t t)
>> +static int
>> +__guest_physmap_add_entry(struct domain *d, unsigned long gfn,
>
> At the very least only a single underscore please.
>
>> + unsigned long mfn, unsigned int page_order,
>> + p2m_type_t t)
>> {
>> struct p2m_domain *p2m = p2m_get_hostp2m(d);
>> unsigned long i, ogfn;
>> @@ -838,6 +838,13 @@ out:
>> return rc;
>> }
>>
>> +/* XXX: To be removed when __guest_physmap_add_entry will use typesafe */
>
> But not just because of this (misleading) comment I really wonder
> what the point here is: Is it really that much more intrusive to
> change the function right away instead of introducing a wrapper?
I though it was intrusive because there are multiple place using adding
a value to the mfn/gfn.
It might be less intrusive with your suggestion to add mfn_* wrappers
for common operation. I will give another look.
> (The comment is misleading because __guest_physmap_add_entry
> shouldn't survive after the conversion to proper types, i.e. it is
> not the function below which is supposed to get removed.)
>
>> +int
>> +guest_physmap_add_entry(struct domain *d, gfn_t gfn, mfn_t mfn,
>> + unsigned int page_order, p2m_type_t t)
>> +{
>> + return __guest_physmap_add_entry(d, gfn_x(gfn), mfn_x(mfn), page_order, t);
>> +}
>
> Perhaps a better (wrapper-less) approach (if full conversion is indeed
> beyond scope) would be to simply rename the function parameters
> and have local variables named "gfn" and "mfn"?
>
>> @@ -2785,7 +2792,8 @@ int p2m_add_foreign(struct domain *tdom, unsigned long fgfn,
>> unsigned long gpfn, domid_t foreigndom)
>> {
>> p2m_type_t p2mt, p2mt_prev;
>> - unsigned long prev_mfn, mfn;
>> + mfn_t prev_mfn;
>> + unsigned long mfn;
>
> This looks to make things more inconsistent rather than more consistent.
The usage of the variable in p2m_add_foreign seems limited to a couple
of place. I will use mfn_t for it too.
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-06-20 11:28 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-14 12:06 [PATCH 0/8] xen/arm: Use the typesafes gfn and mfn Julien Grall
2016-06-14 12:07 ` [PATCH 1/8] xen/arm: Rename gmfn_to_mfn to gfn_to_mfn and use gfn/mfn typesafe Julien Grall
2016-06-14 12:44 ` Jan Beulich
2016-06-14 12:54 ` Julien Grall
2016-06-14 12:07 ` [PATCH 2/8] xen: Use typesafe gfn/mfn in guest_physmap_* helpers Julien Grall
2016-06-14 12:56 ` Jan Beulich
2016-06-20 11:28 ` Julien Grall [this message]
2016-06-14 12:07 ` [PATCH 3/8] xen: Use typesafe gfn in xenmem_add_to_physmap_one Julien Grall
2016-06-14 12:58 ` Jan Beulich
2016-06-14 12:07 ` [PATCH 4/8] xen/arm: Rename grant_table_gfpn into grant_table_gfn and use the typesafe gfn Julien Grall
2016-06-14 13:00 ` Andrew Cooper
2016-06-20 12:40 ` Julien Grall
2016-06-14 12:07 ` [PATCH 5/8] xen: Use the typesafe mfn and gfn in map_mmio_regions Julien Grall
2016-06-14 13:02 ` Jan Beulich
2016-06-20 12:41 ` Julien Grall
2016-06-14 12:07 ` [PATCH 6/8] xen/arm: Rework the interface of p2m_lookup and use typesafe gfn and mfn Julien Grall
2016-06-14 12:07 ` [PATCH 7/8] xen/mm: Introduce max_gfn and min_gfn Julien Grall
2016-06-14 13:05 ` Jan Beulich
2016-06-14 13:11 ` Andrew Cooper
2016-06-14 12:07 ` [PATCH 8/8] xen/arm: p2m_cache_flush: Use the correct terminology and typesafe gfn Julien Grall
2016-06-14 13:13 ` Andrew Cooper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5767D366.5080308@arm.com \
--to=julien.grall@arm.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=george.dunlap@eu.citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=paul.durrant@citrix.com \
--cc=sstabellini@kernel.org \
--cc=tim@xen.org \
--cc=wei.chen@linaro.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).