Messages in this thread | | | From | Logan Gunthorpe <> | Date | Fri, 25 Oct 2019 14:25:32 -0600 | Subject | [RFC PATCH 0/3] Passthru Execute Request Interface |
| |
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
| |