|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v9 6/8] xen/arm: introduce GNTTABOP_cache_flush
>>> On 21.10.14 at 11:52, <stefano.stabellini@xxxxxxxxxxxxx> wrote:
> On Tue, 21 Oct 2014, Jan Beulich wrote:
>> >>> On 20.10.14 at 18:58, <stefano.stabellini@xxxxxxxxxxxxx> wrote:
>> > @@ -490,6 +495,42 @@ static int _set_status(unsigned gt_version,
>> > return _set_status_v2(domid, readonly, mapflag, shah, act,
> status);
>> > }
>> >
>> > +static int grant_map_exists(const struct domain *ld,
>> > + struct grant_table *rgt,
>> > + unsigned long mfn,
>> > + grant_ref_t *ref_count)
>> > +{
>> > + const struct active_grant_entry *act;
>> > + grant_ref_t ref, max_iter;
>> > +
>> > + ASSERT(spin_is_locked(&rgt->lock));
>> > +
>> > + max_iter = min(*ref_count + (1 << GNTTABOP_CONTINUATION_ARG_SHIFT),
> nr_grant_entries(rgt));
>>
>> Long line.
>>
>> > @@ -2617,17 +2761,34 @@ do_grant_table_op(
>> > }
>> > break;
>> > }
>> > + case GNTTABOP_cache_flush:
>> > + {
>> > + grant_ref_t ref_count = opaque_in;
>>
>> I can't see the need for this variable.
>
> We use opaque_in's address below but opaque_in is an unsigned int, not
> grant_ref_t. It doesn't make sense to cast &opaque_in to (grant_ref_t*),
> because if they were different sizes, it couldn't really help.
> So I used a local variable.
If they're of different size there would end up being truncation on
either the opaque_in or opaque_out assignments. So using a
separate variable doesn't help you anyway. And there's no real
need for ref_count to be grant_ref_t (which isn't really meant to
be a type arithmetic can be performed on).
>> > --- a/xen/include/public/grant_table.h
>> > +++ b/xen/include/public/grant_table.h
>> > @@ -309,6 +309,8 @@ typedef uint16_t grant_status_t;
>> > #define GNTTABOP_get_status_frames 9
>> > #define GNTTABOP_get_version 10
>> > #define GNTTABOP_swap_grant_ref 11
>> > +#define GNTTABOP_cache_flush 12
>> > +/* max GNTTABOP is 4095 */
>>
>> This is an implementation detail, i.e. such a comment doesn't belong
>> in the public header.
>
> xen/include/xen/grant_table.h?
That would disconnect it from the #define-s above. I don't see
much point in a comment like this. If too big a new GNTTABOP_
would get added, people would very quickly notice that it doesn't
work.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |