HI Alex, I can give it a try. Please send me all patches as one file if possible. I was about to report yet another problem with Guest MSI-X smp affinity not being honoured by KVM while injecting interrupts. Its again in the context of 82599 device (tried with Linux as guest). I had a hunch that the MSI-X vector data which gets modified when SMP affinity is not tracked by the qemu_kvm. So the interrupt injection was done in load balancing fashion. Because of this interrupt LB in guest VCPUs I saw that packets for all the queues were processed by one VCPU instead 2 or 4 available. Anyway I will test the the MSI-X affinity fix also and get back with results. And I hope 82599 send/receive works. Thanks for your help. -Shashidhar On Sat, Jan 28, 2012 at 7:51 PM, Alex Williamson <alex.williamson@xxxxxxxxxx> wrote: > Patch 1 & 2 here are independent of the rest, but I include them > here to avoid conflicts. The first patch enables exposing MMIO > BARs as their native width to the guest. I added a config option > for this with the default to use the existing behavior as I > suspect we may have some latent issues there. Patch 2 is just > some trivial debug build warning fixes. > > The rest of the patches work on improving MSI-X table support. > Particularly, vectors can now be updated by the guest after > MSI-X is enabled to support things like irqbalance for SMP > affinity tuning. We also now update MSI-X configuration as > new vectors are unmasked, which enables assignment of MSI-X > devices on FreeBSD. I was able to assign and use an 82576 > (PF & VF) on a FreeBSD 9.0 guest with this series. Hopefully > Shashidhar can report whether this improves the behavior he > as seeing with an 82599. > > I wasn't able to get masking to work reliably, so I left that > as is for now. Perhaps someone has suggestions on getting that > to work. Thanks, > > Alex > > --- > > Alex Williamson (9): > pci-assign: Update MSI-X config based on table writes > pci-assign: Use MSIX_PAGE_SIZE > pci-assign: Allocate entries for all MSI-X vectors > pci-assign: Proper initialization for MSI-X table > pci-assign: Only calculate maximum MSI-X vector entries once > pci-assign: Use struct for MSI-X table > pci-assign: Update MSI-X MMIO to Memory API > pci-assign: Fix warnings with DEBUG enabled > pci-assign: Optionally enable 64bit BARs in guest > > > hw/device-assignment.c | 272 ++++++++++++++++++++++++++++++------------------ > hw/device-assignment.h | 12 ++ > 2 files changed, 179 insertions(+), 105 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html