]> www.infradead.org Git - users/jedix/linux-maple.git/commit
nvme: split a new struct nvme_ctrl out of struct nvme_dev
authorChristoph Hellwig <hch@lst.de>
Mon, 19 Dec 2016 19:34:38 +0000 (11:34 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 1 Jun 2017 20:40:34 +0000 (13:40 -0700)
commitb0e58ded2f812e6bc6dd312474c8197bfa26edfb
tree999252cc60d43ed0510bcdb1df25c1fa5fe7ccb9
parentaf3ab29a309686debc44835e10a76864404a73a8
nvme: split a new struct nvme_ctrl out of struct nvme_dev

The new struct nvme_ctrl will be used by the common NVMe code that sits
on top of struct request_queue and the new nvme_ctrl_ops abstraction.
It only contains the bare minimum required, which consists of values
sampled during controller probe, the admin queue pointer and a second
struct device pointer at the moment, but more will follow later.  Only
values that are not used in the I/O fast path should be moved to
struct nvme_ctrl so that drivers can optimize their cache line usage
easily.  That's also the reason why we have two device pointers as
the struct device is used for DMA mapping purposes.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
(cherry picked from commit 1c63dc66580d4bbb6d2b75bf184b5aa105ba5bdb)

Orabug: 25130845
Conflicts:
    drivers/nvme/host/nvme.h
    drivers/nvme/host/pci.c
Signed-off-by: Ashok Vairavan <ashok.vairavan@oracle.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/nvme/host/core.c
drivers/nvme/host/nvme.h
drivers/nvme/host/pci.c
drivers/nvme/host/scsi.c