[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] dpci: Put the dpci back on the list if scheduled from another CPU.
>>> On 18.03.15 at 14:58, <konrad.wilk@xxxxxxxxxx> wrote: > On Wed, Mar 18, 2015 at 07:38:12AM +0000, Jan Beulich wrote: >> >>> On 17.03.15 at 18:15, <konrad.wilk@xxxxxxxxxx> wrote: >> > The latest one (please see attached) would cause an dead-lock iff >> > on the CPU we are running the softirq and an do_IRQ comes for the >> > exact dpci we are in process of executing. >> >> I'm afraid I'm not seeing it - please explain. > > Lets assume that the device is an PCIe with MSI. We have only one > VCPU in the guest. > > We receive the first interrupt, end up going: > vmx_vmexit_handler > - case EXIT_REASON_EXTERNAL_INTERRUPT > \- vmx_do_extint > \- do_IRQ > \- __do_IRQ_guest > \- hvm_do_IRQ_dpci > \- raise_softirq_for > [DPCI_SOFTIRQ bit set] > vmx_process_softirq > sti > do_softirq > -\ __do_sofitq_ > \- dpci_softirq > -\ hvm_dirq_assist > [state is 'running'] > > [Same vector comes in] Is that indeed possible? Afaict nothing in the code sequence above ack-ed the interrupt, and hence another one can't come in. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |