qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 9035f8: vfio-pci: Fix MSI/X debug code


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 9035f8: vfio-pci: Fix MSI/X debug code
Date: Mon, 30 Jun 2014 11:00:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 9035f8c09bebb63c0cc6014acf5c7066ef778aff
      
https://github.com/qemu/qemu/commit/9035f8c09bebb63c0cc6014acf5c7066ef778aff
  Author: Alex Williamson <address@hidden>
  Date:   2014-06-30 (Mon, 30 Jun 2014)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  vfio-pci: Fix MSI/X debug code

Use the correct MSI message function for debug info.

Signed-off-by: Alex Williamson <address@hidden>


  Commit: f4d45d47826377722700894dbf7f47444527a9d2
      
https://github.com/qemu/qemu/commit/f4d45d47826377722700894dbf7f47444527a9d2
  Author: Alex Williamson <address@hidden>
  Date:   2014-06-30 (Mon, 30 Jun 2014)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  vfio-pci: Fix MSI-X masking performance

There are still old guests out there that over-exercise MSI-X masking.
The current code completely sets-up and tears-down an MSI-X vector on
the "use" and "release" callbacks.  While this is functional, it can
slow an old guest to a crawl.  We can easily skip the KVM parts of
this so that we keep the MSI route and irqfd setup.  We do however
need to switch VFIO to trigger a different eventfd while masked.
Actually, we have the option of continuing to use -1 to disable the
trigger, but by using another EventNotifier we can allow the MSI-X
core to emulate pending bits and re-fire the vector once unmasked.
MSI code gets updated as well to use the same setup and teardown
structures and functions.

Prior to this change, an igbvf assigned to a RHEL5 guest gets about
20Mbps and 50 transactions/s with netperf (remote or VF->PF).  With
this change, we get line rate and 3k transactions/s remote or 2Gbps
and 6k+ transactions/s to the PF.  No significant change is expected
for newer guests with more well behaved MSI-X support.

Signed-off-by: Alex Williamson <address@hidden>


  Commit: c40708176a6b52b73bec14796b7c71b882ceb102
      
https://github.com/qemu/qemu/commit/c40708176a6b52b73bec14796b7c71b882ceb102
  Author: Alexey Kardashevskiy <address@hidden>
  Date:   2014-06-30 (Mon, 30 Jun 2014)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  vfio: Make BARs native endian

Slow BAR access path is used when VFIO fails to mmap() BAR.
Since this is just a transport between the guest and a device, there is
no need to do endianness swapping.

This changes BARs to use native endianness. Since non-ROM BARs were
doing byte swapping, we need to remove it so does the patch.
As the result, this eliminates cancelling byte swaps and there is
no change in behavior for non-ROM BARs.

ROM BARs were declared little endian too but byte swapping was not
implemented for them so they never actually worked on big endian systems
as there was no cancelling byte swap. This fixes endiannes for ROM BARs
by declaring them native endian and only fixing access sizes as it is
done for non-ROM BARs.

Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: ba29776fd8160a5c1c1892af5e237fc37aec3cf7
      
https://github.com/qemu/qemu/commit/ba29776fd8160a5c1c1892af5e237fc37aec3cf7
  Author: Paolo Bonzini <address@hidden>
  Date:   2014-06-30 (Mon, 30 Jun 2014)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  vfio: use correct runstate

io-error is for block device errors; it should always be preceded
by a BLOCK_IO_ERROR event.  I think vfio wants to use
RUN_STATE_INTERNAL_ERROR instead.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: 53a259da5697ec8a82463161e2e32ff942a08bc2
      
https://github.com/qemu/qemu/commit/53a259da5697ec8a82463161e2e32ff942a08bc2
  Author: Peter Maydell <address@hidden>
  Date:   2014-06-30 (Mon, 30 Jun 2014)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/awilliam/tags/vfio-pci-for-qemu-20140630.0' into staging

VFIO patches: MSI-X masking performance fix, Endian fixes, fix runstate on 
device error

# gpg: Signature made Mon 30 Jun 2014 18:13:40 BST using RSA key ID 3BB08B22
# gpg: Can't check signature: public key not found

* remotes/awilliam/tags/vfio-pci-for-qemu-20140630.0:
  vfio: use correct runstate
  vfio: Make BARs native endian
  vfio-pci: Fix MSI-X masking performance
  vfio-pci: Fix MSI/X debug code

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/8954000b9ef8...53a259da5697

reply via email to

[Prev in Thread] Current Thread [Next in Thread]