diff options
author | Boshi Yu <boshiyu@linux.alibaba.com> | 2024-03-11 12:38:19 +0100 |
---|---|---|
committer | Leon Romanovsky <leon@kernel.org> | 2024-04-01 13:46:01 +0200 |
commit | f0697bf078368d765b9e9ceef1dac0d5eb69b4b6 (patch) | |
tree | e923a3825d174bacb0198698d093026703fd6f3d /drivers/infiniband/hw/erdma/erdma_verbs.h | |
parent | Linux 6.9-rc2 (diff) | |
download | linux-f0697bf078368d765b9e9ceef1dac0d5eb69b4b6.tar.xz linux-f0697bf078368d765b9e9ceef1dac0d5eb69b4b6.zip |
RDMA/erdma: Allocate doorbell records from dma pool
Currently, the 8 byte doorbell record is allocated along with the queue
buffer, which may result in waste of dma space when the queue buffer is
page aligned. To address this issue, we introduce a dma pool named
db_pool and allocate doorbell record from it.
Reviewed-by: Cheng Xu <chengyou@linux.alibaba.com>
Signed-off-by: Boshi Yu <boshiyu@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240311113821.22482-2-boshiyu@alibaba-inc.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to '')
-rw-r--r-- | drivers/infiniband/hw/erdma/erdma_verbs.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/erdma/erdma_verbs.h b/drivers/infiniband/hw/erdma/erdma_verbs.h index db6018529ccc..b02ffdc8c811 100644 --- a/drivers/infiniband/hw/erdma/erdma_verbs.h +++ b/drivers/infiniband/hw/erdma/erdma_verbs.h @@ -170,6 +170,9 @@ struct erdma_kqp { void *sq_db_info; void *rq_db_info; + dma_addr_t sq_db_info_dma_addr; + dma_addr_t rq_db_info_dma_addr; + u8 sig_all; }; @@ -247,6 +250,7 @@ struct erdma_kcq_info { spinlock_t lock; u8 __iomem *db; u64 *db_record; + dma_addr_t db_record_dma_addr; }; struct erdma_ucq_info { |