[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 08/17] hw/block/nvme: refactor aio submission
From: |
Keith Busch |
Subject: |
Re: [PATCH 08/17] hw/block/nvme: refactor aio submission |
Date: |
Fri, 4 Sep 2020 14:15:53 -0700 |
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.
- [PATCH 02/17] hw/block/nvme: handle dma errors, (continued)
- [PATCH 02/17] hw/block/nvme: handle dma errors, Klaus Jensen, 2020/09/04
- [PATCH 04/17] hw/block/nvme: alignment style fixes, Klaus Jensen, 2020/09/04
- [PATCH 03/17] hw/block/nvme: commonize nvme_rw error handling, Klaus Jensen, 2020/09/04
- [PATCH 05/17] hw/block/nvme: add a lba to bytes helper, Klaus Jensen, 2020/09/04
- [PATCH 08/17] hw/block/nvme: refactor aio submission, Klaus Jensen, 2020/09/04
[PATCH 06/17] hw/block/nvme: fix endian conversion, Klaus Jensen, 2020/09/04
[PATCH 10/17] hw/block/nvme: support multiple parallel aios per request, Klaus Jensen, 2020/09/04
[PATCH 07/17] hw/block/nvme: add symbolic command name to trace events, 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 13/17] hw/block/nvme: add support for sgl bit bucket descriptor, Klaus Jensen, 2020/09/04
[PATCH 16/17] pci: allocate pci id for nvme, Klaus Jensen, 2020/09/04