All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>
Subject: [Qemu-devel] [PULL 04/17] nvme: simplify plug/unplug
Date: Wed, 15 Aug 2018 11:12:35 +0800	[thread overview]
Message-ID: <20180815031248.14908-5-famz@redhat.com> (raw)
In-Reply-To: <20180815031248.14908-1-famz@redhat.com>

From: Paolo Bonzini <pbonzini@redhat.com>

bdrv_io_plug/bdrv_io_unplug take care of keeping a nesting count,
so change s->plugged to just a bool.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20180813144320.12382-2-pbonzini@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
 block/nvme.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/block/nvme.c b/block/nvme.c
index 37805e8890..781d77d6d2 100644
--- a/block/nvme.c
+++ b/block/nvme.c
@@ -104,7 +104,7 @@ typedef struct {
     uint64_t nsze; /* Namespace size reported by identify command */
     int nsid;      /* The namespace id to read/write data. */
     uint64_t max_transfer;
-    int plugged;
+    bool plugged;
 
     CoMutex dma_map_lock;
     CoQueue dma_flush_queue;
@@ -1101,7 +1101,8 @@ static void nvme_attach_aio_context(BlockDriverState *bs,
 static void nvme_aio_plug(BlockDriverState *bs)
 {
     BDRVNVMeState *s = bs->opaque;
-    s->plugged++;
+    assert(!s->plugged);
+    s->plugged = true;
 }
 
 static void nvme_aio_unplug(BlockDriverState *bs)
@@ -1109,14 +1110,13 @@ static void nvme_aio_unplug(BlockDriverState *bs)
     int i;
     BDRVNVMeState *s = bs->opaque;
     assert(s->plugged);
-    if (!--s->plugged) {
-        for (i = 1; i < s->nr_queues; i++) {
-            NVMeQueuePair *q = s->queues[i];
-            qemu_mutex_lock(&q->lock);
-            nvme_kick(s, q);
-            nvme_process_completion(s, q);
-            qemu_mutex_unlock(&q->lock);
-        }
+    s->plugged = false;
+    for (i = 1; i < s->nr_queues; i++) {
+        NVMeQueuePair *q = s->queues[i];
+        qemu_mutex_lock(&q->lock);
+        nvme_kick(s, q);
+        nvme_process_completion(s, q);
+        qemu_mutex_unlock(&q->lock);
     }
 }
 
-- 
2.17.1

  parent reply	other threads:[~2018-08-15  3:13 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-15  3:12 [Qemu-devel] [PULL 00/17] Block and testing patches Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 01/17] tests/vm: Only use -cpu 'host' if KVM is available Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 02/17] tests/vm: Add flex and bison to the vm image Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 03/17] nvme: Fix nvme_init error handling Fam Zheng
2018-08-15  3:12 ` Fam Zheng [this message]
2018-08-15  3:12 ` [Qemu-devel] [PULL 05/17] aio-posix: Don't count ctx->notifier as progress when polling Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 06/17] aio: Do aio_notify_accept only during blocking aio_poll Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 07/17] docker: Install more packages in centos7 Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 08/17] tests: Add an option for snapshot (default: off) Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 09/17] tests: Allow overriding archive path with SRC_ARCHIVE Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 10/17] tests: Add centos VM testing Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 11/17] tests: vm: Add vm-clean-all Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 12/17] tests/vm: Pass the jobs parallelism setting to 'make check' Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 13/17] tests/vm: Propagate V=1 down into the make inside the VM Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 14/17] tests/vm: Bump guest RAM up from 2G to 4G Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 15/17] tests/vm: Use make's --output-sync option Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 16/17] tests/vm: Add vm-build-all/vm-clean-all in help text Fam Zheng
2018-08-15  3:12 ` [Qemu-devel] [PULL 17/17] aio-posix: Improve comment around marking node deleted Fam Zheng
2018-08-15 15:31 ` [Qemu-devel] [PULL 00/17] Block and testing patches Peter Maydell
2018-08-15 15:35 ` Peter Maydell
2018-08-16  4:34   ` Fam Zheng

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=20180815031248.14908-5-famz@redhat.com \
    --to=famz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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.