Re: [PATCH 0/9] pci-assign: 64bit MMIO + better MSI-X table support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux