From: Logan Gunthorpe <logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org,
linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: "Jens Axboe" <axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>,
"Christian König" <christian.koenig-5C7GfCeVMHo@public.gmane.org>,
"Benjamin Herrenschmidt"
<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
"Alex Williamson"
<alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"Keith Busch"
<keith.busch-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"Jérôme Glisse" <jglisse-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"Jason Gunthorpe" <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
"Bjorn Helgaas"
<bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
"Max Gurtovoy" <maxg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
"Christoph Hellwig" <hch-jcswGhMUV9g@public.gmane.org>
Subject: [PATCH v4 03/14] PCI/P2PDMA: Add PCI p2pmem dma mappings to adjust the bus offset
Date: Mon, 23 Apr 2018 17:30:35 -0600 [thread overview]
Message-ID: <20180423233046.21476-4-logang@deltatee.com> (raw)
In-Reply-To: <20180423233046.21476-1-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
The DMA address used when mapping PCI P2P memory must be the PCI bus
address. Thus, introduce pci_p2pmem_[un]map_sg() to map the correct
addresses when using P2P memory.
For this, we assume that an SGL passed to these functions contain all
P2P memory or no P2P memory.
Signed-off-by: Logan Gunthorpe <logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
---
drivers/pci/p2pdma.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++
include/linux/memremap.h | 1 +
include/linux/pci-p2pdma.h | 13 ++++++++++++
3 files changed, 65 insertions(+)
diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c
index 4daad6374869..ed9dce8552a2 100644
--- a/drivers/pci/p2pdma.c
+++ b/drivers/pci/p2pdma.c
@@ -190,6 +190,8 @@ int pci_p2pdma_add_resource(struct pci_dev *pdev, int bar, size_t size,
pgmap->res.flags = pci_resource_flags(pdev, bar);
pgmap->ref = &pdev->p2pdma->devmap_ref;
pgmap->type = MEMORY_DEVICE_PCI_P2PDMA;
+ pgmap->pci_p2pdma_bus_offset = pci_bus_address(pdev, bar) -
+ pci_resource_start(pdev, bar);
addr = devm_memremap_pages(&pdev->dev, pgmap);
if (IS_ERR(addr)) {
@@ -746,3 +748,52 @@ void pci_p2pmem_publish(struct pci_dev *pdev, bool publish)
pdev->p2pdma->p2pmem_published = publish;
}
EXPORT_SYMBOL_GPL(pci_p2pmem_publish);
+
+/**
+ * pci_p2pdma_map_sg - map a PCI peer-to-peer sg for DMA
+ * @dev: device doing the DMA request
+ * @sg: scatter list to map
+ * @nents: elements in the scatterlist
+ * @dir: DMA direction
+ *
+ * Returns the number of SG entries mapped
+ */
+int pci_p2pdma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+ enum dma_data_direction dir)
+{
+ struct dev_pagemap *pgmap;
+ struct scatterlist *s;
+ phys_addr_t paddr;
+ int i;
+
+ /*
+ * p2pdma mappings are not compatible with devices that use
+ * dma_virt_ops.
+ */
+ if (IS_ENABLED(CONFIG_DMA_VIRT_OPS) && dev->dma_ops == &dma_virt_ops)
+ return 0;
+
+ for_each_sg(sg, s, nents, i) {
+ pgmap = sg_page(s)->pgmap;
+ paddr = sg_phys(s);
+
+ s->dma_address = paddr - pgmap->pci_p2pdma_bus_offset;
+ sg_dma_len(s) = s->length;
+ }
+
+ return nents;
+}
+EXPORT_SYMBOL_GPL(pci_p2pdma_map_sg);
+
+/**
+ * pci_p2pdma_unmap_sg - unmap a PCI peer-to-peer sg for DMA
+ * @dev: device doing the DMA request
+ * @sg: scatter list to map
+ * @nents: elements in the scatterlist
+ * @dir: DMA direction
+ */
+void pci_p2pdma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
+ enum dma_data_direction dir)
+{
+}
+EXPORT_SYMBOL_GPL(pci_p2pdma_unmap_sg);
diff --git a/include/linux/memremap.h b/include/linux/memremap.h
index 9e907c338a44..1660f64ce96f 100644
--- a/include/linux/memremap.h
+++ b/include/linux/memremap.h
@@ -125,6 +125,7 @@ struct dev_pagemap {
struct device *dev;
void *data;
enum memory_type type;
+ u64 pci_p2pdma_bus_offset;
};
#ifdef CONFIG_ZONE_DEVICE
diff --git a/include/linux/pci-p2pdma.h b/include/linux/pci-p2pdma.h
index 80e931cb1235..0cde88341eeb 100644
--- a/include/linux/pci-p2pdma.h
+++ b/include/linux/pci-p2pdma.h
@@ -35,6 +35,10 @@ struct scatterlist *pci_p2pmem_alloc_sgl(struct pci_dev *pdev,
unsigned int *nents, u32 length);
void pci_p2pmem_free_sgl(struct pci_dev *pdev, struct scatterlist *sgl);
void pci_p2pmem_publish(struct pci_dev *pdev, bool publish);
+int pci_p2pdma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+ enum dma_data_direction dir);
+void pci_p2pdma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
+ enum dma_data_direction dir);
#else /* CONFIG_PCI_P2PDMA */
static inline int pci_p2pdma_add_resource(struct pci_dev *pdev, int bar,
size_t size, u64 offset)
@@ -96,5 +100,14 @@ static inline void pci_p2pmem_free_sgl(struct pci_dev *pdev,
static inline void pci_p2pmem_publish(struct pci_dev *pdev, bool publish)
{
}
+static inline int pci_p2pdma_map_sg(struct device *dev,
+ struct scatterlist *sg, int nents, enum dma_data_direction dir)
+{
+ return 0;
+}
+static inline void pci_p2pdma_unmap_sg(struct device *dev,
+ struct scatterlist *sg, int nents, enum dma_data_direction dir)
+{
+}
#endif /* CONFIG_PCI_P2PDMA */
#endif /* _LINUX_PCI_P2P_H */
--
2.11.0
next prev parent reply other threads:[~2018-04-23 23:30 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-23 23:30 [PATCH v4 00/14] Copy Offload in NVMe Fabrics with P2P PCI Memory Logan Gunthorpe
[not found] ` <20180423233046.21476-1-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-04-23 23:30 ` [PATCH v4 01/14] PCI/P2PDMA: Support peer-to-peer memory Logan Gunthorpe
[not found] ` <20180423233046.21476-2-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-07 23:00 ` Bjorn Helgaas
[not found] ` <20180507230034.GE161390-1RhO1Y9PlrlHTL0Zs8A6p5iNqAH0jzoTYJqu5kTmcBRl57MIdRCFDg@public.gmane.org>
2018-05-07 23:09 ` Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 02/14] PCI/P2PDMA: Add sysfs group to display p2pmem stats Logan Gunthorpe
2018-04-23 23:30 ` Logan Gunthorpe [this message]
[not found] ` <20180423233046.21476-4-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-07 23:02 ` [PATCH v4 03/14] PCI/P2PDMA: Add PCI p2pmem dma mappings to adjust the bus offset Bjorn Helgaas
2018-04-23 23:30 ` [PATCH v4 04/14] PCI/P2PDMA: Clear ACS P2P flags for all devices behind switches Logan Gunthorpe
[not found] ` <20180423233046.21476-5-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-04-24 3:33 ` Randy Dunlap
2018-05-07 23:13 ` Bjorn Helgaas
[not found] ` <20180507231306.GG161390-1RhO1Y9PlrlHTL0Zs8A6p5iNqAH0jzoTYJqu5kTmcBRl57MIdRCFDg@public.gmane.org>
2018-05-08 7:17 ` Christian König
[not found] ` <e58e8d27-42a5-ca69-3b68-c409a2922cd1-5C7GfCeVMHo@public.gmane.org>
2018-05-08 14:25 ` Stephen Bates
[not found] ` <479F2F93-903B-4A8A-8989-A4BD0E5E1471-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-08 16:37 ` Christian König
2018-05-08 16:27 ` Logan Gunthorpe
[not found] ` <0b4183ef-e720-204b-9e85-b9eaf7a4136a-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-08 16:50 ` Christian König
[not found] ` <a943a92d-15cd-fb2d-21c3-5e5cfccd9eff-5C7GfCeVMHo@public.gmane.org>
2018-05-08 19:13 ` Logan Gunthorpe
2018-05-08 19:34 ` Alex Williamson
[not found] ` <20180508133407.57a46902-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 19:45 ` Logan Gunthorpe
[not found] ` <5fc9b1c1-9208-06cc-0ec5-1f54c2520494-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-08 20:13 ` Alex Williamson
[not found] ` <20180508141331.7cd737cb-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 20:19 ` Logan Gunthorpe
[not found] ` <d70cf286-f7b7-99a5-1042-022506298fed-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-08 20:43 ` Alex Williamson
[not found] ` <20180508144341.0441b676-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 20:49 ` Logan Gunthorpe
[not found] ` <a524127a-3557-3dff-971c-dfe94ba5a01c-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-08 21:26 ` Alex Williamson
[not found] ` <20180508152631.50fd583c-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 21:42 ` Stephen Bates
[not found] ` <354F7407-0DC7-470C-B9AA-74FDF9C46B08-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-08 22:03 ` Alex Williamson
[not found] ` <20180508160336.0935ddde-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 22:10 ` Logan Gunthorpe
[not found] ` <20905682-9440-7d4b-0260-99d3dc794c3d-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-08 22:25 ` Stephen Bates
[not found] ` <C3CEE4DB-A001-4E4C-B9B9-4B160E4C5367-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-08 23:11 ` Alex Williamson
[not found] ` <20180508171150.0e8fd291-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 23:31 ` Logan Gunthorpe
[not found] ` <0a0a1782-04b2-c571-63c7-bfff68312946-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-09 0:17 ` Alex Williamson
2018-05-08 22:32 ` Alex Williamson
[not found] ` <20180508163206.7d3bf383-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 23:00 ` Dan Williams
[not found] ` <CAPcyv4i1ksiu1pExF=EE21P2Wz1a9LaDaG247oG_WSbYgcR93g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-08 23:15 ` Logan Gunthorpe
[not found] ` <2ce7908d-1422-55f8-aeba-94ccce2cb484-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-09 12:38 ` Stephen Bates
2018-05-08 22:21 ` Don Dutile
[not found] ` <11819753-af26-4632-8580-d4a47127a3b2-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-09 12:44 ` Stephen Bates
[not found] ` <C6D0BD3A-FA82-425A-899C-C2DBDCBC7EEC-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-09 15:58 ` Don Dutile
2018-05-08 20:50 ` Jerome Glisse
[not found] ` <20180508205005.GC15608-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-08 21:35 ` Stephen Bates
2018-05-09 13:12 ` Stephen Bates
[not found] ` <7FFB9603-DF9F-4441-82E9-46037CB6C0DE-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-09 13:40 ` Christian König
[not found] ` <a1a36f88-fbfb-b5ee-6dcb-5c5bb96132dd-5C7GfCeVMHo@public.gmane.org>
2018-05-09 15:41 ` Stephen Bates
[not found] ` <1775CC56-4651-422F-953A-18E024D3717C-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-09 16:07 ` Jerome Glisse
[not found] ` <20180509160722.GB4140-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-09 16:30 ` Stephen Bates
[not found] ` <366A8132-B88A-40F7-BDE3-DA542E45FC0C-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-09 17:49 ` Jerome Glisse
[not found] ` <20180509174952.GC4140-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-10 14:20 ` Stephen Bates
[not found] ` <405531AE-8315-4A4F-9B0C-8DBE49BFCAB4-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-10 14:29 ` Christian König
[not found] ` <73b6a454-bf84-1640-0b5e-137d03c0ad8c-5C7GfCeVMHo@public.gmane.org>
2018-05-10 14:59 ` Jerome Glisse
[not found] ` <20180510145946.GB3652-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-10 18:44 ` Stephen Bates
2018-05-09 16:45 ` Logan Gunthorpe
[not found] ` <4e0d0b96-ab02-2662-adf3-fa956efd294c-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-10 12:52 ` Christian König
[not found] ` <2fc61d29-9eb4-d168-a3e5-955c36e5d821-5C7GfCeVMHo@public.gmane.org>
2018-05-10 14:16 ` Stephen Bates
2018-05-10 14:41 ` Jerome Glisse
[not found] ` <20180510144137.GA3652-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-10 18:41 ` Stephen Bates
[not found] ` <B525870A-B25E-46BB-B501-DAA39F1741DC-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-10 18:59 ` Logan Gunthorpe
2018-05-10 19:10 ` Alex Williamson
[not found] ` <20180510131015.4ad59477-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-10 19:24 ` Jerome Glisse
[not found] ` <94C8FE12-7FC3-48BD-9DCA-E6A427E71810-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-10 16:32 ` Logan Gunthorpe
[not found] ` <f0101988-cf82-7ffb-2aca-d3b8d2f4b504-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-10 17:11 ` Stephen Bates
[not found] ` <868B49CE-4F0E-4A48-BE78-12149F85F1A4-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-10 17:15 ` Logan Gunthorpe
[not found] ` <8113cba8-62b9-1801-7a77-f82be223b183-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-11 8:52 ` Christian König
[not found] ` <cf2b92c9-7c5b-f19c-b5b1-2f2d435296d1-5C7GfCeVMHo@public.gmane.org>
2018-05-11 15:48 ` Logan Gunthorpe
[not found] ` <53fa38ce-40dd-6bc1-9b83-c6ccf228b755-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-11 21:50 ` Stephen Bates
[not found] ` <A50EA568-81E7-4AD7-8C1B-1029FEA92F49-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-11 22:24 ` Stephen Bates
2018-05-11 22:55 ` Logan Gunthorpe
2018-05-08 14:31 ` Dan Williams
[not found] ` <CAPcyv4g+5N_n03J-VhmJfrr60Sqk95ZapLKBkwSsGvV4nQ+ZRw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-08 14:44 ` Stephen Bates
[not found] ` <64C231F5-DE36-415F-B308-3A423B0BBACB-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-08 21:04 ` Don Dutile
[not found] ` <15433946-f7f5-f610-4e80-380fb59920e5-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-08 21:27 ` Stephen Bates
[not found] ` <3C9FB262-A93C-4C8F-B1E0-85C6D6F78BC2-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-08 23:06 ` Don Dutile
[not found] ` <c5f30ced-7bbf-9420-db1a-72519fc78b3a-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-09 0:01 ` Alex Williamson
[not found] ` <20180508180157.7c7b393f-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-09 12:35 ` Stephen Bates
[not found] ` <B5BFCF39-6BB4-4E45-B805-C8FCC8B79EF3-pv7U853sEMVWk0Htik3J/w@public.gmane.org>
2018-05-09 14:44 ` Alex Williamson
[not found] ` <20180509084445.626d2732-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-09 15:52 ` Don Dutile
2018-05-09 15:47 ` Don Dutile
2018-05-09 15:53 ` Don Dutile
2018-04-23 23:30 ` [PATCH v4 05/14] docs-rst: Add a new directory for PCI documentation Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 06/14] PCI/P2PDMA: Add P2P DMA driver writer's documentation Logan Gunthorpe
[not found] ` <20180423233046.21476-7-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-07 23:20 ` Bjorn Helgaas
2018-05-22 21:24 ` Randy Dunlap
[not found] ` <59b7762e-6d38-7746-20f3-22fd762ecfe7-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2018-05-22 21:28 ` Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 07/14] block: Introduce PCI P2P flags for request and request queue Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 08/14] IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]() Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 09/14] nvme-pci: Use PCI p2pmem subsystem to manage the CMB Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 10/14] nvme-pci: Add support for P2P memory in requests Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 11/14] nvme-pci: Add a quirk for a pseudo CMB Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 12/14] nvmet: Introduce helper functions to allocate and free request SGLs Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 13/14] nvmet-rdma: Use new SGL alloc/free helper for requests Logan Gunthorpe
2018-04-23 23:30 ` [PATCH v4 14/14] nvmet: Optionally use PCI P2P memory Logan Gunthorpe
2018-05-02 11:51 ` [PATCH v4 00/14] Copy Offload in NVMe Fabrics with P2P PCI Memory Christian König
[not found] ` <b8acf835-df94-9967-2327-8f0e39d88511-5C7GfCeVMHo@public.gmane.org>
2018-05-02 15:56 ` Logan Gunthorpe
[not found] ` <805645c1-ea40-2e57-88eb-5dd34e579b2e-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-03 9:05 ` Christian König
[not found] ` <3e4e0126-f444-8d88-6793-b5eb97c61f76-5C7GfCeVMHo@public.gmane.org>
2018-05-03 15:59 ` Logan Gunthorpe
[not found] ` <ce2e5351-f32a-bd80-1c77-b7fc38842175-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-03 17:29 ` Christian König
[not found] ` <38d866cf-f7b4-7118-d737-5a5dcd9f3784-5C7GfCeVMHo@public.gmane.org>
2018-05-03 18:43 ` Logan Gunthorpe
[not found] ` <2d59aa02-f2fa-bd88-1b6c-923117a6ad28-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2018-05-04 14:27 ` Christian König
[not found] ` <17e7bc28-f499-c7f7-f91a-9f6778de5fd3-5C7GfCeVMHo@public.gmane.org>
2018-05-04 15:52 ` Logan Gunthorpe
2018-05-07 23:23 ` Bjorn Helgaas
[not found] ` <20180507232346.GI161390-1RhO1Y9PlrlHTL0Zs8A6p5iNqAH0jzoTYJqu5kTmcBRl57MIdRCFDg@public.gmane.org>
2018-05-07 23:34 ` Logan Gunthorpe
2018-05-08 16:57 ` Alex Williamson
[not found] ` <20180508105759.7dbaa8fe-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2018-05-08 19:14 ` Logan Gunthorpe
2018-05-08 21:25 ` Don Dutile
[not found] ` <c16ecc49-a0f3-152d-785b-a646a3dab60d-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-08 21:40 ` Alex Williamson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180423233046.21476-4-logang@deltatee.com \
--to=logang-otvngxwrz7hwk0htik3j/w@public.gmane.org \
--cc=alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org \
--cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
--cc=bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=christian.koenig-5C7GfCeVMHo@public.gmane.org \
--cc=hch-jcswGhMUV9g@public.gmane.org \
--cc=jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=jglisse-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=keith.busch-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org \
--cc=linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=maxg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox