[RFC PATCH 0/3] Passthru Execute Request Interface

Logan Gunthorpe
2019-10-25T20:25:40Z

Hi,

This is just an RFC meant to get some early feedback on the core
interface for executing passthru commands that will be needed
in the upcomming nvmet passth patchset.

The first patch moves the calls to nvme_passthru_[start|end]() into
a common helper such that all passthru requests will call them.

The second patch does a bit of code reorganization for the third patch.

The third patch proposes a new nvme_execute_passthru_rq_nowait() interface
for the nvmet passthru code. For commands that have no effects it is
simply equivalent to blk_execute_rq_nowait(). For commands that
has effects, it pushes the command submission to a work queue. This
requires adding a work struct to nvme_request.

The code that will use this interfcae can be seen in the WIP passthru
patch[1]. It helps clean things up considerably from the last submission
of the patch.

Thanks,

Logan

[1] https://github.com/sbates130272/linux-p2pmem/commit/a468e458795e6df6483ad8c98635536d6da31064

--

Logan Gunthorpe (3):
nvme: Move nvme_passthru_[start|end]() calls to common code
nvme: Create helper function to obtain command effects
nvme: Introduce nvme_execute_passthru_rq_nowait()

drivers/nvme/host/core.c | 228 ++++++++++++++++++++++++---------------
drivers/nvme/host/nvme.h | 7 ++
2 files changed, 147 insertions(+), 88 deletions(-)

--
2.20.1