qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] a576ce: virtio-blk: trace vdev so devices can


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] a576ce: virtio-blk: trace vdev so devices can be distingui...
Date: Fri, 30 Jun 2017 06:58:28 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a576ceac393b8d7490224bf2be65e0eb8f44f556
      
https://github.com/qemu/qemu/commit/a576ceac393b8d7490224bf2be65e0eb8f44f556
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-06-29 (Thu, 29 Jun 2017)

  Changed paths:
    M hw/block/trace-events
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: trace vdev so devices can be distinguished

It is hard to analyze trace logs with multiple virtio-blk devices
because none of the trace events include the VirtIODevice *vdev.

This patch adds vdev so it's clear which device a request is associated
with.

I considered using VirtIOBlock *s instead but VirtIODevice *vdev is more
general and may be correlated with generic virtio trace events like
virtio_set_status.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: afbccba608cec3e78c8eb31f6b7d2cd0c9908e05
      
https://github.com/qemu/qemu/commit/afbccba608cec3e78c8eb31f6b7d2cd0c9908e05
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-06-30 (Fri, 30 Jun 2017)

  Changed paths:
    M tests/libqos/virtio.h

  Log Message:
  -----------
  libqos: fix typo in virtio.h QVirtQueue->used comment

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Tested-by: Eric Blake <address@hidden>
Tested-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e77abbe98b944990b3ab49c671ec15371904e206
      
https://github.com/qemu/qemu/commit/e77abbe98b944990b3ab49c671ec15371904e206
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-06-30 (Fri, 30 Jun 2017)

  Changed paths:
    M tests/libqos/virtio.c
    M tests/libqos/virtio.h

  Log Message:
  -----------
  libqos: add virtio used ring support

Existing tests do not touch the virtqueue used ring.  Instead they poll
the virtqueue ISR register and peek into their request's device-specific
status field.

It turns out that the virtqueue ISR register can be set to 1 more than
once for a single notification (see commit
83d768b5640946b7da55ce8335509df297e2c7cd "virtio: set ISR on dataplane
notifications").  This causes problems for tests that assume a 1:1
correspondence between the ISR being 1 and request completion.

Peeking at device-specific status fields is also problematic if the
device has no field that can be abused for EINPROGRESS polling
semantics.  This is the case if all the field's values may be set by the
device; there's no magic constant left for polling.

It's time to process the used ring for completed requests, just like a
real virtio guest driver.  This patch adds the necessary APIs.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Tested-by: Eric Blake <address@hidden>
Tested-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 29509a7bbc6411c72d748bd636c434258bb0aef2
      
https://github.com/qemu/qemu/commit/29509a7bbc6411c72d748bd636c434258bb0aef2
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-06-30 (Fri, 30 Jun 2017)

  Changed paths:
    M tests/virtio-scsi-test.c

  Log Message:
  -----------
  tests: fix virtio-scsi-test ISR dependence

Use the new used ring APIs instead of assuming ISR being set means the
request has completed.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Tested-by: Eric Blake <address@hidden>
Tested-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 12dfbdcabfecd898c4ee77b7710795ddb94a7200
      
https://github.com/qemu/qemu/commit/12dfbdcabfecd898c4ee77b7710795ddb94a7200
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-06-30 (Fri, 30 Jun 2017)

  Changed paths:
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  tests: fix virtio-blk-test ISR dependence

Use the new used ring APIs instead of assuming ISR being set means the
request has completed.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Tested-by: Eric Blake <address@hidden>
Tested-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 8e11c9d3653282b33c20e632e21aa640b2772629
      
https://github.com/qemu/qemu/commit/8e11c9d3653282b33c20e632e21aa640b2772629
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-06-30 (Fri, 30 Jun 2017)

  Changed paths:
    M tests/virtio-net-test.c

  Log Message:
  -----------
  tests: fix virtio-net-test ISR dependence

Use the new used ring APIs instead of assuming ISR being set means the
request has completed.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Tested-by: Eric Blake <address@hidden>
Tested-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: c324fd0a39cee43c13f6d1fb34f74fc5e2fb007b
      
https://github.com/qemu/qemu/commit/c324fd0a39cee43c13f6d1fb34f74fc5e2fb007b
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2017-06-30 (Fri, 30 Jun 2017)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: use ioeventfd even when KVM is disabled

Old kvm.ko versions only supported a tiny number of ioeventfds so
virtio-pci avoids ioeventfds when kvm_has_many_ioeventfds() returns 0.

Do not check kvm_has_many_ioeventfds() when KVM is disabled since it
always returns 0.  Since commit 8c56c1a592b5092d91da8d8943c17777d6462a6f
("memory: emulate ioeventfd") it has been possible to use ioeventfds in
qtest or TCG mode.

This patch makes -device virtio-blk-pci,iothread=iothread0 work even
when KVM is disabled.

I have tested that virtio-blk-pci works under TCG both with and without
iothread.

This patch fixes qemu-iotests 068, which was accidentally merged early
despite the dependency on ioeventfd.

Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Tested-by: Eric Blake <address@hidden>
Tested-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 0912d0f2c719e029c5101eacaacbaf2c755be099
      
https://github.com/qemu/qemu/commit/0912d0f2c719e029c5101eacaacbaf2c755be099
  Author: Peter Maydell <address@hidden>
  Date:   2017-06-30 (Fri, 30 Jun 2017)

  Changed paths:
    M hw/block/trace-events
    M hw/block/virtio-blk.c
    M hw/virtio/virtio-pci.c
    M tests/libqos/virtio.c
    M tests/libqos/virtio.h
    M tests/virtio-blk-test.c
    M tests/virtio-net-test.c
    M tests/virtio-scsi-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into 
staging

# gpg: Signature made Fri 30 Jun 2017 12:46:17 BST
# gpg:                using RSA key 0x9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha/tags/block-pull-request:
  virtio-pci: use ioeventfd even when KVM is disabled
  tests: fix virtio-net-test ISR dependence
  tests: fix virtio-blk-test ISR dependence
  tests: fix virtio-scsi-test ISR dependence
  libqos: add virtio used ring support
  libqos: fix typo in virtio.h QVirtQueue->used comment
  virtio-blk: trace vdev so devices can be distinguished

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


Compare: https://github.com/qemu/qemu/compare/36f87b451337...0912d0f2c719

reply via email to

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