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

Re: [Xen-devel] [Patch] continue_hypercall_on_cpu rework using tasklets



On 15/04/2010 12:06, "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx> wrote:

>> Hmm, I have cc'ed one of the PM guys because it is enter_state :-)
>> Can we add check in vcpu_sleep_sync() for current? It is meaningless to
>> cpu_relax for current vcpu in that situation, especially if we are not in irq
>> context.
>> I'm not sure why in freeze_domains it only checkes dom0's vcpu for current,
>> instead of all domains.
> 
> Well actually pausing any vcpu from within the hypercall continuation is
> dangerous. The softirq handler running the hypercall continuation may have
> interrupted some running VCPU X. And the VCPU Y that the continuation is
> currently trying to pause may itself be trying to pause X. So we can get a
> deadlock that way. The freeze_domains() *has* to be pulled outside of the
> hypercall continuation.

Changesets 21180 and 21181 in xen-unstable are my attempts to fix this. Yu
Ke, please let me know if these look and test okay for you guys.

 Thanks,
 Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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