All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: qemu-devel <qemu-devel@nongnu.org>
Cc: Alexander Graf <agraf@suse.de>,
	Richard Henderson <rth@twiddle.net>,
	Cornelia Huck <cohuck@redhat.com>,
	QingFeng Hao <haoqf@linux.vnet.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>
Subject: [Qemu-devel] [PATCH 7/7] virtio-scsi-ccw: use ioeventfd even when KVM is disabled
Date: Tue,  4 Jul 2017 16:07:59 +0200	[thread overview]
Message-ID: <1499177279-131407-8-git-send-email-borntraeger@de.ibm.com> (raw)
In-Reply-To: <1499177279-131407-1-git-send-email-borntraeger@de.ibm.com>

From: QingFeng Hao <haoqf@linux.vnet.ibm.com>

This patch is based on a similar patch from Stefan Hajnoczi -
commit c324fd0a39c ("virtio-pci: use ioeventfd even when KVM is disabled")

Do not check kvm_eventfds_enabled() 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-scsi-ccw,iothread=iothread0 work even
when KVM is disabled.
Currently we don't have an equivalent to "memory: emulate ioeventfd"
for ccw yet, but that this doesn't hurt and qemu-iotests 068 can pass with
skipping iothread arguments.

I have tested that virtio-scsi-ccw works under tcg both with and without
iothread.

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

Signed-off-by: QingFeng Hao <haoqf@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20170704132350.11874-2-haoqf@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 hw/s390x/virtio-ccw.c | 2 +-
 target/s390x/cpu.h    | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index f0e7fc8..e18fd26 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -789,7 +789,7 @@ static void virtio_ccw_device_realize(VirtioCcwDevice *dev, Error **errp)
         sch->cssid, sch->ssid, sch->schid, sch->devno,
         ccw_dev->devno.valid ? "user-configured" : "auto-configured");
 
-    if (!kvm_eventfds_enabled()) {
+    if (kvm_enabled() && !kvm_eventfds_enabled()) {
         dev->flags &= ~VIRTIO_CCW_FLAG_USE_IOEVENTFD;
     }
 
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 9faca04..bdb9bdb 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -1264,7 +1264,11 @@ static inline int s390_assign_subch_ioeventfd(EventNotifier *notifier,
                                               uint32_t sch_id, int vq,
                                               bool assign)
 {
-    return kvm_s390_assign_subch_ioeventfd(notifier, sch_id, vq, assign);
+    if (kvm_enabled()) {
+        return kvm_s390_assign_subch_ioeventfd(notifier, sch_id, vq, assign);
+    } else {
+        return 0;
+    }
 }
 
 static inline void s390_crypto_reset(void)
-- 
2.7.4

      parent reply	other threads:[~2017-07-04 14:08 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-04 14:07 [Qemu-devel] [PATCH 0/7] s390x/kvm: pending patches Christian Borntraeger
2017-07-04 14:07 ` [Qemu-devel] [PATCH 1/7] s390x: vmstatify config migration for virtio-ccw Christian Borntraeger
2017-07-04 14:07 ` [Qemu-devel] [PATCH 2/7] s390x/3270: fix instruction interception handler Christian Borntraeger
2017-07-04 14:24   ` Cornelia Huck
2017-07-04 14:07 ` [Qemu-devel] [PATCH 3/7] s390x: fix error propagation in kvm-flic's realize Christian Borntraeger
2017-07-04 14:31   ` Cornelia Huck
2017-07-04 14:46     ` Halil Pasic
2017-07-04 15:08       ` Halil Pasic
2017-07-04 16:59         ` Cornelia Huck
2017-07-04 17:40           ` Christian Borntraeger
2017-07-05 13:54             ` [Qemu-devel] [PATCH 1/1] s390x: fixup for "fix error propagation in kvm-flic..." Halil Pasic
2017-07-05 15:29               ` Cornelia Huck
2017-07-05 16:27                 ` Christian Borntraeger
2017-07-05 17:16                   ` Halil Pasic
2017-07-04 14:07 ` [Qemu-devel] [PATCH 4/7] s390x: fix realize inheritance for kvm-flic Christian Borntraeger
2017-07-04 14:37   ` Cornelia Huck
2017-07-04 14:51     ` Halil Pasic
2017-07-05 10:20       ` Christian Borntraeger
2017-07-05 10:28         ` Halil Pasic
2017-07-05 11:11         ` Cornelia Huck
2017-07-05 11:16           ` Cornelia Huck
2017-07-04 14:07 ` [Qemu-devel] [PATCH 5/7] s390x/MAINTAINERS: Update my email address Christian Borntraeger
2017-07-04 14:07 ` [Qemu-devel] [PATCH 6/7] s390x: return unavailable features via query-cpu-definitions Christian Borntraeger
2017-07-04 14:40   ` Cornelia Huck
2017-07-04 14:07 ` Christian Borntraeger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1499177279-131407-8-git-send-email-borntraeger@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=agraf@suse.de \
    --cc=cohuck@redhat.com \
    --cc=haoqf@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.