[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 08/17] hw/block/nvme: refactor aio submission
From: |
Klaus Jensen |
Subject: |
Re: [PATCH 08/17] hw/block/nvme: refactor aio submission |
Date: |
Fri, 4 Sep 2020 23:38:41 +0200 |
On Sep 4 14:15, Keith Busch wrote:
> On Fri, Sep 04, 2020 at 10:38:39PM +0200, Klaus Jensen wrote:
> > On Sep 4 12:47, Keith Busch wrote:
> > > On Fri, Sep 04, 2020 at 04:19:47PM +0200, Klaus Jensen wrote:
> > > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c
> > > > index bfac3385cb64..3e32f39c7c1d 100644
> > > > --- a/hw/block/nvme.c
> > > > +++ b/hw/block/nvme.c
> > > > @@ -110,6 +110,7 @@ static const uint32_t
> > > > nvme_feature_cap[NVME_FID_MAX] = {
> > > > };
> > > >
> > > > static void nvme_process_sq(void *opaque);
> > > > +static void nvme_aio_cb(void *opaque, int ret);
> > >
> > > You don't need the forward declaration here. Just move the
> > > implementation above where it's used. It looks safe: nvme_aio_cb()
> > > doesn't have any circular dependencies.
> >
> > You are right, of course. But it is getting a circular dependency in a
> > later patch. I left it there to reduce code movement later.
>
> Is that coming in a future patch? Not finding it in this series.
>
> About the whole patch in general, are multiple aio's per-request coming
> in later patch as well? I didn't see any use for it here, and the
> overhead of dynamic allocation and zeroing a new struct in the IO path
> is a bit concerning for performance. I'd like to see your intended use
> for this.
Intended use-case was parallel aios. There are a lot of use cases for
this, DSM, metadata, block allocation tracking and zns zoneinfo.
But I'll rip it out of the series and repost so we can focus on multiple
namespaces.
- Re: [PATCH 02/17] hw/block/nvme: handle dma errors, (continued)
[PATCH 05/17] hw/block/nvme: add a lba to bytes helper, Klaus Jensen, 2020/09/04
[PATCH 07/17] hw/block/nvme: add symbolic command name to trace events, Klaus Jensen, 2020/09/04
[PATCH 10/17] hw/block/nvme: support multiple parallel aios per request, Klaus Jensen, 2020/09/04
[PATCH 09/17] hw/block/nvme: default request status to success, Klaus Jensen, 2020/09/04
[PATCH 11/17] hw/block/nvme: harden cmb access, Klaus Jensen, 2020/09/04
[PATCH 16/17] pci: allocate pci id for nvme, Klaus Jensen, 2020/09/04
[PATCH 13/17] hw/block/nvme: add support for sgl bit bucket descriptor, Klaus Jensen, 2020/09/04
[PATCH 15/17] hw/block/nvme: support multiple namespaces, Klaus Jensen, 2020/09/04