qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] f88b44: vfio: remove DPRINTF() definition fro


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] f88b44: vfio: remove DPRINTF() definition from vfio-common...
Date: Thu, 07 Jun 2018 01:55:19 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: f88b44f9eb2fbba6540db782b5eaa7efbcb0e266
      
https://github.com/qemu/qemu/commit/f88b44f9eb2fbba6540db782b5eaa7efbcb0e266
  Author: Tiwei Bie <address@hidden>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  vfio: remove DPRINTF() definition from vfio-common.h

This macro isn't used by any VFIO code. And its name is
too generic. The vfio-common.h (in include/hw/vfio) can
be included by other modules in QEMU. It can introduce
conflicts.

Signed-off-by: Tiwei Bie <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Eric Auger <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: bcf3c3d029e73d54455e1d7a51177c37d668378c
      
https://github.com/qemu/qemu/commit/bcf3c3d029e73d54455e1d7a51177c37d668378c
  Author: Alex Williamson <address@hidden>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M hw/vfio/pci-quirks.c

  Log Message:
  -----------
  vfio/quirks: Add common quirk alloc helper

This will later be used to include list initialization.

Reviewed-by: Eric Auger <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: 469d02de993817dcf4430d08fdff92aef8352d8f
      
https://github.com/qemu/qemu/commit/469d02de993817dcf4430d08fdff92aef8352d8f
  Author: Alex Williamson <address@hidden>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M hw/vfio/pci-quirks.c
    M hw/vfio/pci.c
    M hw/vfio/pci.h

  Log Message:
  -----------
  vfio/quirks: Add quirk reset callback

Quirks can be self modifying, provide a hook to allow them to cleanup
on device reset if desired.

Reviewed-by: Eric Auger <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: c958c51d2e9923d0eb14dfec46920f69bd793cb4
      
https://github.com/qemu/qemu/commit/c958c51d2e9923d0eb14dfec46920f69bd793cb4
  Author: Alex Williamson <address@hidden>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M hw/vfio/pci-quirks.c
    M hw/vfio/pci.c
    M hw/vfio/pci.h
    M hw/vfio/trace-events

  Log Message:
  -----------
  vfio/quirks: ioeventfd quirk acceleration

The NVIDIA BAR0 quirks virtualize the PCI config space mirrors found
in device MMIO space.  Normally PCI config space is considered a slow
path and further optimization is unnecessary, however NVIDIA uses a
register here to enable the MSI interrupt to re-trigger.  Exiting to
QEMU for this MSI-ACK handling can therefore rate limit our interrupt
handling.  Fortunately the MSI-ACK write is easily detected since the
quirk MemoryRegion otherwise has very few accesses, so simply looking
for consecutive writes with the same data is sufficient, in this case
10 consecutive writes with the same data and size is arbitrarily
chosen.  We configure the KVM ioeventfd with data match, so there's
no risk of triggering for the wrong data or size, but we do risk that
pathological driver behavior might consume all of QEMU's file
descriptors, so we cap ourselves to 10 ioeventfds for this purpose.

In support of the above, generic ioeventfd infrastructure is added
for vfio quirks.  This automatically initializes an ioeventfd list
per quirk, disables and frees ioeventfds on exit, and allows
ioeventfds marked as dynamic to be dropped on device reset.  The
rationale for this latter feature is that useful ioeventfds may
depend on specific driver behavior and since we necessarily place a
cap on our use of ioeventfds, a machine reset is a reasonable point
at which to assume a new driver and re-profile.

Reviewed-by: Peter Xu <address@hidden>
Reviewed-by: Eric Auger <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: 2b1dbd0d7250254e9421bce721cc2ea25b4af894
      
https://github.com/qemu/qemu/commit/2b1dbd0d7250254e9421bce721cc2ea25b4af894
  Author: Alex Williamson <address@hidden>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M hw/vfio/pci-quirks.c
    M hw/vfio/pci.c
    M hw/vfio/pci.h
    M hw/vfio/trace-events

  Log Message:
  -----------
  vfio/quirks: Enable ioeventfd quirks to be handled by vfio directly

With vfio ioeventfd support, we can program vfio-pci to perform a
specified BAR write when an eventfd is triggered.  This allows the
KVM ioeventfd to be wired directly to vfio-pci, entirely avoiding
userspace handling for these events.  On the same micro-benchmark
where the ioeventfd got us to almost 90% of performance versus
disabling the GeForce quirks, this gets us to within 95%.

Reviewed-by: Peter Xu <address@hidden>
Reviewed-by: Eric Auger <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: 8151a9c56d31eeeea872b8103c8b86d03c411667
      
https://github.com/qemu/qemu/commit/8151a9c56d31eeeea872b8103c8b86d03c411667
  Author: Alex Williamson <address@hidden>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M hw/vfio/pci.c

  Log Message:
  -----------
  vfio/pci: Default display option to "off"

Commit a9994687cb9b ("vfio/display: core & wireup") added display
support to vfio-pci with the default being "auto", which breaks
existing VMs when the vGPU requires GL support but had no previous
requirement for a GL compatible configuration.  "Off" is the safer
default as we impose no new requirements to VM configurations.

Fixes: a9994687cb9b ("vfio/display: core & wireup")
Cc: address@hidden
Cc: Gerd Hoffmann <address@hidden>
Signed-off-by: Alex Williamson <address@hidden>


  Commit: 5d328d7d2f1fd4fb160bcfb6e4eb838720274438
      
https://github.com/qemu/qemu/commit/5d328d7d2f1fd4fb160bcfb6e4eb838720274438
  Author: Peter Maydell <address@hidden>
  Date:   2018-06-07 (Thu, 07 Jun 2018)

  Changed paths:
    M hw/vfio/pci-quirks.c
    M hw/vfio/pci.c
    M hw/vfio/pci.h
    M hw/vfio/trace-events
    M include/hw/vfio/vfio-common.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20180605.0' 
into staging

VFIO updates 2018-06-05

 - Removed unused DPRINTF (Tiwei Bie)
 - KVM & VFIO ioeventfd support for NVIDIA MSI ACK (Alex Williamson)
 - Default vfio-pci display support to "off" (Alex Williamson)

# gpg: Signature made Tue 05 Jun 2018 20:51:14 BST
# gpg:                using RSA key 239B9B6E3BB08B22
# gpg: Good signature from "Alex Williamson <address@hidden>"
# gpg:                 aka "Alex Williamson <address@hidden>"
# gpg:                 aka "Alex Williamson <address@hidden>"
# gpg:                 aka "Alex Williamson <address@hidden>"
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B  8A90 239B 9B6E 3BB0 8B22

* remotes/awilliam/tags/vfio-update-20180605.0:
  vfio/pci: Default display option to "off"
  vfio/quirks: Enable ioeventfd quirks to be handled by vfio directly
  vfio/quirks: ioeventfd quirk acceleration
  vfio/quirks: Add quirk reset callback
  vfio/quirks: Add common quirk alloc helper
  vfio: remove DPRINTF() definition from vfio-common.h

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


Compare: https://github.com/qemu/qemu/compare/c1c2a435905a...5d328d7d2f1f
      **NOTE:** This service been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

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