[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 09:29, "Juergen Gross" <juergen.gross@xxxxxxxxxxxxxx> wrote: >> There is only one ASSERT in __sync_lazy_execstate, and it's safe for this >> case. Bear in mind that our softirqs always run in the context of whatever >> domain happens to be running on that cpu currently -- they don't have their >> own proper vcpu context. > > I don't see how it should be guaranteed that the current vcpu MUST be an idle > one... It's odd because someone else asked this exact same question, so the code must be more subtle than I thought. Note that the ASSERT is inside if(switch_required), and switch_required is true only if the vcpu whose state is loaded on this CPU is not the same as the currently-scheduled vcpu. This odd situation is only possible if we are lazy-syncing the former vcpu's state, and that only occurs if the currently-running vcpu is the idle vcpu (as all other vcpus would need their state loaded immediately, so lazy sync does not apply). -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |