xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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

  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).