diff options
author | Dave Jiang <dave.jiang@intel.com> | 2021-07-20 13:42:04 -0700 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2021-07-28 17:55:40 +0530 |
commit | a9c171527a3403cae6c1907744b1bc9ca301f912 (patch) | |
tree | ebd6d0900995c21d96fd6a18f9215746bedf3a33 /drivers/dma/idxd/submit.c | |
parent | 673d812d30be67942762bb9e8548abb26a3ba4a7 (diff) |
dmaengine: idxd: rotate portal address for better performance
The device submission portal is on a 4k page and any of those 64bit aligned
address on the page can be used for descriptor submission. By rotating the
offset through the 4k range and prevent successive writes to the same MMIO
address, performance improvement is observed through testing.
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/162681372446.1968485.10634280461681015569.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/idxd/submit.c')
-rw-r--r-- | drivers/dma/idxd/submit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/idxd/submit.c b/drivers/dma/idxd/submit.c index 65b0130ab2db..92ae9a157cc9 100644 --- a/drivers/dma/idxd/submit.c +++ b/drivers/dma/idxd/submit.c @@ -146,7 +146,7 @@ int idxd_submit_desc(struct idxd_wq *wq, struct idxd_desc *desc) if (!percpu_ref_tryget_live(&wq->wq_active)) return -ENXIO; - portal = wq->portal; + portal = idxd_wq_portal_addr(wq); /* * The wmb() flushes writes to coherent DMA data before |