diff options
author | 2017-04-11 13:23:02 -0400 | |
---|---|---|
committer | 2017-04-25 16:12:22 -0400 | |
commit | 91a10c52975a8c89e146a4f740e64cd147ba8e8a (patch) | |
tree | f9cf5ad426188a632479bfbd3890b02945d6e3ae /tools/perf/scripts/python/export-to-postgresql.py | |
parent | xprtrdma: Refactor rpcrdma_ia_open() (diff) | |
download | linux-dev-91a10c52975a8c89e146a4f740e64cd147ba8e8a.tar.xz linux-dev-91a10c52975a8c89e146a4f740e64cd147ba8e8a.zip |
xprtrdma: Use same device when mapping or syncing DMA buffers
When the underlying device driver is reloaded, ia->ri_device will be
replaced. All cached copies of that device pointer have to be
updated as well.
Commit 54cbd6b0c6b9 ("xprtrdma: Delay DMA mapping Send and Receive
buffers") added the rg_device field to each regbuf. As part of
handling a device removal, rpcrdma_dma_unmap_regbuf is invoked on
all regbufs for a transport.
Simply calling rpcrdma_dma_map_regbuf for each Receive buffer after
the driver has been reloaded should reinitialize rg_device correctly
for every case except rpcrdma_wc_receive, which still uses
rpcrdma_rep::rr_device.
Ensure the same device that was used to map a Receive buffer is also
used to sync it in rpcrdma_wc_receive by using rg_device there
instead of rr_device.
This is the only use of rr_device, so it can be removed.
The use of regbufs in the send path is also updated, for
completeness.
Fixes: 54cbd6b0c6b9 ("xprtrdma: Delay DMA mapping Send and ... ")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions