[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen4.2 S3 regression?
>>> On 04.09.12 at 20:34, Ben Guthro <ben@xxxxxxxxxx> wrote: > On Fri, Aug 24, 2012 at 6:16 PM, Jan Beulich <JBeulich@xxxxxxxx> wrote: >>>>> On 24.08.12 at 17:10, Ben Guthro <ben@xxxxxxxxxx> wrote: >>> The attached patch is essentially the change you suggested, plus a >>> check for NULL in irq_complete_move() >>> >>> This patch seems to fix some of the issues I was seeing, but not all. >>> MSI's are now delivered, after a handful of suspend / resumes, which >>> is the issue I was setting out to solve here. >> >> But I'm afraid this is just masking some other problem (see my >> response to Andrew's mail that I just sent). >> >> Further more, the NULL check here seems pretty odd - I'd be very >> curious what code path could get us there with the IRQ regs >> pointer being NULL. It would likely be that code path that needs >> fixing, not irq_complete_move(). Could you add a call to >> dump_execution_state() to the early return path that you added? > > Apologies that I'm just getting back to this. > > The call trace in this early return patch looks like this: > > (XEN) Xen call trace: > (XEN) [<ffff82c480167d1a>] irq_complete_move+0x3e/0xd9 > (XEN) [<ffff82c48014424a>] dma_msi_mask+0x1d/0x49 > (XEN) [<ffff82c480169cc2>] fixup_irqs+0x19c/0x300 > (XEN) [<ffff82c48017e762>] __cpu_disable+0x337/0x37e > (XEN) [<ffff82c4801013e3>] take_cpu_down+0x43/0x4a > (XEN) [<ffff82c480125fe6>] stopmachine_action+0x8a/0xb3 > (XEN) [<ffff82c48012756e>] do_tasklet_work+0x8d/0xc7 > (XEN) [<ffff82c4801278d9>] do_tasklet+0x6b/0x9b > (XEN) [<ffff82c480158cbd>] idle_loop+0x67/0x71 > > > This seems to get printed 4 times - twice on CPU1, and CPU2 This one appears to be relatively clear, and I'll add a tentative fix to the next version of debugging patch that I'm in the process of preparing: irq_complete_move() is supposed to be getting called from the hw_irq_controllers' .ack methods, yet VT-d currently uses the same handler for .ack and .disable (and calling irq_complete_move() in the context of .disable is certainly wrong) - this appears to have been the case forever, but a flaw like this may of course get uncovered with completely unrelated changes. Jan (also restored the Cc list) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |