All of lore.kernel.org
 help / color / mirror / Atom feed
From: Klaus Jensen <its@irrelevant.dk>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	qemu-block@nongnu.org, Klaus Jensen <k.jensen@samsung.com>,
	Max Reitz <mreitz@redhat.com>, Klaus Jensen <its@irrelevant.dk>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Keith Busch <kbusch@kernel.org>
Subject: [PATCH RFC 0/4] hw/block/nvme: convert ad-hoc aio tracking to aiocbs
Date: Tue,  2 Mar 2021 12:10:36 +0100	[thread overview]
Message-ID: <20210302111040.289244-1-its@irrelevant.dk> (raw)

From: Klaus Jensen <k.jensen@samsung.com>

The nvme device currently uses an ad-hoc approach to tracking AIO
completion when a request results in multiple issued AIOs.

This series convert those operations (DSM, Copy, Flush and Zone Reset)
to use "proper" QEMU AIOCB processing instead. This requires more code,
but the end result of this is that we gain proper cancellation support
(something that the device would not do correctly in the existing ad-hoc
approach, and something that would have required more code anyway).

This series makes SQ deletions "just work" and allows Abort to be
implemented such that it actually does something.

Marking RFC, since I've not really done anything with QEMU AIOs and BHs
on this level before, so I'd really like some block-layer eyes on it.

Klaus Jensen (4):
  hw/block/nvme: convert dsm to aiocb
  hw/block/nvme: convert copy to aiocb
  hw/block/nvme: convert flush to aiocb
  hw/block/nvme: convert zone reset to aiocb

 hw/block/nvme.c       | 945 ++++++++++++++++++++++++------------------
 hw/block/trace-events |   2 +-
 2 files changed, 537 insertions(+), 410 deletions(-)

-- 
2.30.1



             reply	other threads:[~2021-03-02 11:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02 11:10 Klaus Jensen [this message]
2021-03-02 11:10 ` [PATCH RFC 1/4] hw/block/nvme: convert dsm to aiocb Klaus Jensen
2021-03-08 16:37   ` Stefan Hajnoczi
2021-03-08 18:05     ` Klaus Jensen
2021-03-09 16:03       ` Stefan Hajnoczi
2021-03-09 18:27         ` Klaus Jensen
2021-03-02 11:10 ` [PATCH RFC 2/4] hw/block/nvme: convert copy " Klaus Jensen
2021-03-02 11:10 ` [PATCH RFC 3/4] hw/block/nvme: convert flush " Klaus Jensen
2021-03-02 11:10 ` [PATCH RFC 4/4] hw/block/nvme: convert zone reset " Klaus Jensen
2021-03-08 16:38 ` [PATCH RFC 0/4] hw/block/nvme: convert ad-hoc aio tracking to aiocbs Stefan Hajnoczi

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=20210302111040.289244-1-its@irrelevant.dk \
    --to=its@irrelevant.dk \
    --cc=k.jensen@samsung.com \
    --cc=kbusch@kernel.org \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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.