Maxim Mikityanskiy
a064c60984
net/mlx5e: Introduce wqe_index_mask for legacy RQ
...
When fragments of different WQEs share the same page, mlx5e_post_rx_wqes
must wait until the old WQE stops using the page, only then the new WQE
can allocate the new page. Essentially, it means that if WQE index i is
still in use, the allocation must stop before `i % bulk`, where bulk is
the number of WQEs that may share the same page.
As bulk is always a power of two, `i % bulk = i & (bulk - 1)`, and the
new wqe_index_mask field will be equal to `bulk - 1`.
At the same time, wqe_bulk remains for optimization purposes and stores
`max(bulk, 8)`, which allows to skip the allocation until we have at
least 8 WQEs free.
Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com >
Reviewed-by: Tariq Toukan <tariqt@nvidia.com >
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com >
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2022-10-01 13:30:19 -07:00
..
2022-08-31 14:11:26 -07:00
2022-09-29 11:05:23 +02:00
2022-09-28 18:57:14 -07:00
2022-08-31 14:11:26 -07:00
2022-09-26 12:48:12 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-08-31 14:11:26 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-05-05 15:53:02 -07:00
2022-09-28 18:57:14 -07:00
2022-08-31 14:11:26 -07:00
2022-09-29 09:37:29 +02:00
2022-09-28 18:57:14 -07:00
2022-09-30 12:38:58 +01:00
2022-09-30 13:01:16 +01:00
2022-09-29 14:30:51 -07:00
2022-09-28 18:57:14 -07:00
2022-09-29 10:14:05 +02:00
2022-09-29 14:30:51 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-19 18:23:14 -07:00
2022-08-31 14:11:26 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-09-30 11:32:27 +01:00
2022-05-08 11:33:57 +01:00
2022-09-28 18:57:14 -07:00
2022-09-29 18:52:06 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-22 17:41:28 -07:00
2022-09-30 12:40:22 +01:00
2022-09-29 19:29:03 -07:00
2022-09-19 18:23:39 -07:00
2022-09-29 14:30:51 -07:00
2022-09-29 14:30:51 -07:00
2022-10-01 13:30:19 -07:00
2022-09-15 11:43:51 +02:00
2022-09-30 12:34:01 +01:00
2022-09-22 10:58:13 -07:00
2022-09-06 10:24:42 +02:00
2022-09-29 14:30:51 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-09-29 09:19:09 +02:00
2022-09-30 18:47:53 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-30 18:17:06 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-29 14:30:51 -07:00
2022-08-31 14:11:26 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-30 13:04:23 +01:00
2022-09-28 19:18:42 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-29 13:39:58 +02:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-09-26 12:46:16 -07:00
2022-09-28 18:57:14 -07:00
2022-08-30 12:32:51 +02:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-08-31 14:11:26 -07:00
2022-09-02 21:18:56 -07:00
2022-09-28 18:57:14 -07:00
2022-09-28 18:57:14 -07:00
2022-08-31 14:11:26 -07:00
2022-09-28 18:57:14 -07:00
2022-05-05 15:53:28 -07:00
2022-09-20 15:00:30 +02:00
2022-09-28 18:57:14 -07:00
2022-09-02 21:19:35 -07:00
2022-09-28 18:57:14 -07:00
2022-09-20 15:00:30 +02:00