[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |