All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.