MLX5 IB HCA offers the memory key, dump_fill_mkey to boost performance, when used in a send or receive operations. It is used to force local HCA operations to skip the PCI bus access, while keeping track of the processed length in the ibv_sge handling. Meaning, instead of a PCI write access the HCA leaves the target memory untouched, and skips filling that packet section. Similar behavior is done upon send, the HCA skips data in memory relevant to this key and saves PCI bus access. This functionality saves PCI read/write operations.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -90,6 +90,7 @@ struct mlx5_ib_alloc_ucontext_req_v2 { · 89 unmodified lines | ||
| 90 | 90 | |
| 91 | 91 | enum mlx5_ib_alloc_ucontext_resp_mask { |
| 92 | 92 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0, |
| 93 | + MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_DUMP_FILL_MKEY = 1UL << 1, | |
| 93 | 94 | }; |
| 94 | 95 | |
| 95 | 96 | enum mlx5_user_cmds_supp_uhw { |
| @@ -138,7 +139,7 @@ struct mlx5_ib_alloc_ucontext_resp { · 42 unmodified lines | ||
| 138 | 139 | __u32 log_uar_size; |
| 139 | 140 | __u32 num_uars_per_page; |
| 140 | 141 | __u32 num_dyn_bfregs; |
| 141 | − __u32 reserved3; | |
| 142 | + __u32 dump_fill_mkey; | |
| 142 | 143 | }; |
| 143 | 144 | |
| 144 | 145 | struct mlx5_ib_alloc_pd_resp { |