[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 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. -boris _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |