[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v10 11/20] x86/VPMU: Interface for setting PMU mode and flags



>>> On 19.09.14 at 14:42, <boris.ostrovsky@xxxxxxxxxx> wrote:
> On 09/19/2014 02:51 AM, Jan Beulich wrote:
>>>>> On 18.09.14 at 23:50, <boris.ostrovsky@xxxxxxxxxx> wrote:
>>> On 09/18/2014 12:11 AM, Tian, Kevin wrote:
>>>>> From: Boris Ostrovsky [mailto:boris.ostrovsky@xxxxxxxxxx]
>>>>> +{
>>>>> +    unsigned i, j, allbutself_num, tasknum, mycpu;
>>>>> +    static s_time_t start;
>>>>> +    static struct tasklet **sync_task;
>>>>> +    struct vcpu *curr_vcpu = current;
>>>>> +    static struct vcpu *sync_vcpu;
>>>>> +    int ret = 0;
>>>>> +
>>>>> +    tasknum = allbutself_num = num_online_cpus() - 1;
>>>>> +
>>>>> +    if ( sync_task ) /* if set, we are in hypercall continuation */
>>>>> +    {
>>>>> +        if ( (sync_vcpu != NULL) && (sync_vcpu != curr_vcpu) )
>>>>> +            /* We are not the original caller */
>>>>> +            return -EAGAIN;
>>>> I assume hypercall continuation will happen on original vcpu context. Under
>>>> which situation the hypercall will be continued on a different vcpu? If 
>>>> yes,
>>>> would it be an unbounded situation where you may wait unexpected time
>>>> to have sync_vcpu==curr_vcpu?
>>> The continuation call is gone in v11. If we are stuck waiting for more
>>> than 5 seconds we'll simply return -EAGAIN and have the caller retry.
>> That reads wrong, but I'd of course have to see whether the just
>> wording above is incorrectly reflecting the code changes you did.
> 
> The only thing that I can think of that I didn't mention is 
> hypercall_preempt_check() to bail out earlier than 5 seconds. Is that 
> what you are missing in my reply? Otherwise  I don't know what else is 
> wrong.

Yes, that indeed was the missing piece.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.