>>> On 24.02.17 at 09:02, <xuqu...@huawei.com> wrote:
> Another question, it 'd be the _main_gap_.. 
> If the pCPU runs __vmx_deliver_posted_interrupt() here, in a 
> hyperver-context,
> _iiuc_, all of vCPUs , waiting in the run queue, are scheduled out.. So the 
> 'current' is NULL, as there is no running vCPU..

Excuse me, but these are fundamentals. "current" can never be NULL.
If no guest vCPU is running, the idle vCPU for the pCPU would be.
And switching to hypervisor context _does not_ mean the current
vCPU changes. In particular, vlapic_set_irq() (which is a few call
stack layers up from __vmx_deliver_posted_interrupt()) can run in
various contexts afaics.

Jan


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

Reply via email to