[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/vMSI-X: avoid missing first unmask of vectors
>>> On 25.04.16 at 15:25, <wei.liu2@xxxxxxxxxx> wrote: > On Thu, Apr 21, 2016 at 03:38:26AM -0600, Jan Beulich wrote: >> Recent changes to Linux result in there just being a single unmask >> operation prior to expecting the first interrupts to arrive. However, >> we've had a chicken-and-egg problem here: Qemu invokes >> xc_domain_update_msi_irq(), ultimately leading to >> msixtbl_pt_register(), upon seeing that first unmask operation. Yet >> for msixtbl_range() to return true (in order to msixtbl_write() to get >> invoked at all) msixtbl_pt_register() must have completed. >> >> Deal with this by snooping suitable writes in msixtbl_range() and >> triggering the invocation of msix_write_completion() from >> msixtbl_pt_register() when that happens in the context of a still in >> progress vector control field write. >> >> Note that the seemingly unrelated deletion of the redundant >> irq_desc->msi_desc checks in msixtbl_pt_register() is to make clear to >> any compiler version used that the "msi_desc" local variable isn't >> being used uninitialized. (Doing the same in msixtbl_pt_unregister() is >> just for consistency reasons.) >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> --- >> TODO: How to deal with REP MOVS to the MSI-X table (in msixtbl_range())? >> > > As I understand it, this should be future improvement. Yes. I've actually been working on this the last couple of hours. > The patch itself > is an improvement in its own right so it can go in: > > Release-acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Thanks, Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |