mirror of
https://github.com/torvalds/linux
synced 2024-10-03 09:48:02 +00:00
RDMA/siw: Introduce SIW_STAG_MAX_INDEX
Add the macro to remove magic number in the code. Acked-by: Bernard Metzler <bmt@zurich.ibm.com> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev> Link: https://lore.kernel.org/r/20231113115726.12762-9-guoqing.jiang@linux.dev Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
parent
60d2136db8
commit
6a343cc3bf
|
@ -14,18 +14,20 @@
|
|||
#include "siw.h"
|
||||
#include "siw_mem.h"
|
||||
|
||||
/* Stag lookup is based on its index part only (24 bits). */
|
||||
#define SIW_STAG_MAX_INDEX 0x00ffffff
|
||||
|
||||
/*
|
||||
* Stag lookup is based on its index part only (24 bits).
|
||||
* The code avoids special Stag of zero and tries to randomize
|
||||
* STag values between 1 and SIW_STAG_MAX_INDEX.
|
||||
*/
|
||||
int siw_mem_add(struct siw_device *sdev, struct siw_mem *m)
|
||||
{
|
||||
struct xa_limit limit = XA_LIMIT(1, 0x00ffffff);
|
||||
struct xa_limit limit = XA_LIMIT(1, SIW_STAG_MAX_INDEX);
|
||||
u32 id, next;
|
||||
|
||||
get_random_bytes(&next, 4);
|
||||
next &= 0x00ffffff;
|
||||
next &= SIW_STAG_MAX_INDEX;
|
||||
|
||||
if (xa_alloc_cyclic(&sdev->mem_xa, &id, m, limit, &next,
|
||||
GFP_KERNEL) < 0)
|
||||
|
@ -81,7 +83,7 @@ int siw_mr_add_mem(struct siw_mr *mr, struct ib_pd *pd, void *mem_obj,
|
|||
{
|
||||
struct siw_device *sdev = to_siw_dev(pd->device);
|
||||
struct siw_mem *mem = kzalloc(sizeof(*mem), GFP_KERNEL);
|
||||
struct xa_limit limit = XA_LIMIT(1, 0x00ffffff);
|
||||
struct xa_limit limit = XA_LIMIT(1, SIW_STAG_MAX_INDEX);
|
||||
u32 id, next;
|
||||
|
||||
if (!mem)
|
||||
|
@ -97,7 +99,7 @@ int siw_mr_add_mem(struct siw_mr *mr, struct ib_pd *pd, void *mem_obj,
|
|||
kref_init(&mem->ref);
|
||||
|
||||
get_random_bytes(&next, 4);
|
||||
next &= 0x00ffffff;
|
||||
next &= SIW_STAG_MAX_INDEX;
|
||||
|
||||
if (xa_alloc_cyclic(&sdev->mem_xa, &id, mem, limit, &next,
|
||||
GFP_KERNEL) < 0) {
|
||||
|
|
Loading…
Reference in a new issue