|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5] x86/hvm/viridian: flush remote tlbs by hypercall
>>> On 20.11.15 at 10:55, <paul.durrant@xxxxxxxxxx> wrote:
> + /*
> + * For each specified virtual CPU flush all ASIDs to invalidate
> + * TLB entries the next time it is scheduled and then, if it
> + * is currently running, add its physical CPU to a mask of
> + * those which need to be interrupted to force a flush.
> + */
> + for_each_vcpu ( currd, v )
> + {
> + if ( v->vcpu_id >= (sizeof(input_params.vcpu_mask) * 8) )
> + break;
> +
> + if ( !(input_params.vcpu_mask & (1ul << v->vcpu_id)) )
> + continue;
The code is correct as is (for the time being at least, i.e. no strict
need for a v6), but I'd nevertheless like to note that range check
and shift still aren't in line with one another: You'd need to use
(typeof(input_params.vcpu_mask))1 instead of 1ul for there to be
a full match (or
if ( !((input_params.vcpu_mask >> v->vcpu_id) & 1) )
).
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |