Cheng Xu
13f42e5166
RDMA/erdma: Make hardware internal opcodes invisible to driver
...
Some opcodes are used in hardware internally, and driver does not care
about them. So, we change them to reserved opcodes in driver.
Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com >
Link: https://lore.kernel.org/r/20220909093822.33868-4-chengyou@linux.alibaba.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 14:27:51 +03:00
Cheng Xu
93aea72cc5
RDMA/erdma: Remove redundant includes
...
Many of erdma's includes are redundant, because they are already included
indirectly by kernel headers or custom headers. So we remove all the
unnecessary direct-includes. Besides, add linux/pci.h to erdma.h because
it's also used in the file.
Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com >
Link: https://lore.kernel.org/r/20220909093822.33868-3-chengyou@linux.alibaba.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 14:27:51 +03:00
Cheng Xu
95f911d949
RDMA/erdma: Eliminate unnecessary casting for erdma_post_cmd_wait
...
erdma_post_cmd_wait does not use the 'u64 *req' input parameter directly.
So it is better to define it to 'void *req', and by this we can eliminate
the casting when calling erdma_post_cmd_wait.
Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com >
Link: https://lore.kernel.org/r/20220909093822.33868-2-chengyou@linux.alibaba.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 14:27:51 +03:00
Bart Van Assche
6dbe4a8dea
RDMA/srp: Fix srp_abort()
...
Fix the code for converting a SCSI command pointer into an SRP request
pointer.
Cc: Xiao Yang <yangx.jy@fujitsu.com >
Fixes: ad215aaea4 ("RDMA/srp: Make struct scsi_cmnd and struct srp_request adjacent")
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
Link: https://lore.kernel.org/r/20220908233139.3042628-1-bvanassche@acm.org
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 14:15:09 +03:00
wangjianli
7eff365271
RDMA/qib: fix repeated words in comments
...
Delete the redundant word 'to'.
Signed-off-by: wangjianli <wangjianli@cdjrlc.com >
Link: https://lore.kernel.org/r/20220908132036.42355-1-wangjianli@cdjrlc.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 14:11:14 +03:00
wangjianli
67d8f59bdc
RDMA/hfi1: fix repeated words in comments
...
Delete the redundant word 'to'.
Signed-off-by: wangjianli <wangjianli@cdjrlc.com >
Link: https://lore.kernel.org/r/20220908131824.41106-1-wangjianli@cdjrlc.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 14:06:49 +03:00
Shiraz Saleem
34acb833cc
RDMA/irdma: Validate udata inlen and outlen
...
Currently ib_copy_from_udata and ib_copy_to_udata could underfill
the request and response buffer if the user-space passes an undersized
value for udata->inlen or udata->outlen respectively [1]
This could lead to undesirable behavior.
Zero initing the buffer only goes as far as preventing using the buffer
uninitialized.
Validate udata->inlen and udata->outlen passed from user-space to ensure
they are at least the required minimum size.
[1] https://lore.kernel.org/linux-rdma/MWHPR11MB0029F37D40D9D4A993F8F549E9D79@MWHPR11MB0029.namprd11.prod.outlook.com/
Fixes: b48c24c2d7 ("RDMA/irdma: Implement device supported verb APIs")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com >
Link: https://lore.kernel.org/r/20220907191324.1173-3-shiraz.saleem@intel.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 13:19:53 +03:00
Sindhu-Devale
7f51a961f8
RDMA/irdma: Align AE id codes to correct flush code and event
...
A number of asynchronous event (AE) ids were not aligned to the
correct flush_code and event_type. Fix these up so that the
correct IBV error and event codes are returned to application.
Also, add handling for new AE ids like IRDMA_AE_INVALID_REQUEST to
return the correct WC error code.
Fixes: 44d9e52977 ("RDMA/irdma: Implement device initialization definitions")
Signed-off-by: Sindhu-Devale <sindhu.devale@intel.com >
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com >
Link: https://lore.kernel.org/r/20220907191324.1173-2-shiraz.saleem@intel.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-20 13:19:52 +03:00
Daisuke Matsuda
e866025b3b
RDMA/mlx5: Remove duplicate assignment in umr_rereg_pas()
...
The same value is assigned to 'mr->ibmr.length'. Remove redundant one.
Signed-off-by: Daisuke Matsuda <matsuda-daisuke@fujitsu.com >
Link: https://lore.kernel.org/r/20220908083058.3993700-1-matsuda-daisuke@fujitsu.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-08 11:53:41 +03:00
Li Zhijian
415a04844a
RDMA/rxe: convert pr_warn to pr_debug
...
They could be triggered by user APIs with invalid parameters.
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com >
Link: https://lore.kernel.org/r/1662518901-2-2-git-send-email-lizhijian@fujitsu.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-08 11:03:15 +03:00
Li Zhijian
e2edba67fc
RDMA/rxe: use %u to print u32 variables
...
struct ib_qp_cap {
u32 max_send_wr;
u32 max_recv_wr;
u32 max_send_sge;
u32 max_recv_sge;
u32 max_inline_data;
...
To avoid getting a negative value from dmesg:
[410580.579965] rdma_rxe: invalid send sge = 65535 > 32
[410580.583818] rdma_rxe: invalid send wr = -1 > 1048576
[410582.771323] rdma_rxe: invalid recv sge = 65535 > 32
[410582.775310] rdma_rxe: invalid recv wr = -1 > 1048576
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com >
Link: https://lore.kernel.org/r/1662518901-2-1-git-send-email-lizhijian@fujitsu.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-08 11:03:15 +03:00
Guoqing Jiang
db77d84cfe
RDMA/rtrs-clt: Kill xchg_paths
...
Let's call try_cmpxchg directly for the same purpose.
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev >
Link: https://lore.kernel.org/r/20220903040252.29397-1-guoqing.jiang@linux.dev
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-06 14:12:03 +03:00
Guoqing Jiang
57eb938237
RDMA/rtrs-clt: Break the loop once one path is connected
...
No need to iterate all paths after find one connected path.
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev >
Link: https://lore.kernel.org/r/20220902101922.26273-3-guoqing.jiang@linux.dev
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-06 14:05:22 +03:00
Guoqing Jiang
2aa9e4a2c3
RDMA/rtrs: Update comments for MAX_SESS_QUEUE_DEPTH
...
The maximum queue_depth should be 65535 per check_module_params,
also update other relevant comments.
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev >
Link: https://lore.kernel.org/r/20220902101922.26273-2-guoqing.jiang@linux.dev
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-06 14:05:22 +03:00
ye xingchen
e58f889e29
RDMA/hfi1: Remove the unneeded result variable
...
Return the value set_link_state() directly instead of storing it in
another redundant variable.
Reported-by: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn >
Link: https://lore.kernel.org/r/20220901074209.313004-1-ye.xingchen@zte.com.cn
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-05 15:14:31 +03:00
Leon Romanovsky
d324a46be3
Merge branch 'mlx5-next' into wip/leon-for-next
...
Perform merge of Mellanox shared branch.
* mlx5-next:
RDMA/mlx5: Move function mlx5_core_query_ib_ppcnt() to mlx5_ib
2022-09-05 15:09:55 +03:00
Chris Mi
8a2dd123f1
RDMA/mlx5: Move function mlx5_core_query_ib_ppcnt() to mlx5_ib
...
This patch doesn't change any functionality, but move one function
to mlx5_ib because it is not used by mlx5_core.
The actual fix is in the next patch.
Reviewed-by: Roi Dayan <roid@nvidia.com >
Signed-off-by: Chris Mi <cmi@nvidia.com >
Link: https://lore.kernel.org/r/fd47b9138412bd94ed30f838026cbb4cf3878150.1661763871.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-05 15:09:03 +03:00
Bodong Wang
b021d82e25
IB/mlx5: Support querying eswitch functions from DEVX
...
Query eswitch functions returns information of the external host
PF(if it exists). It can be used to check if DEVX is running on ECPF.
Reviewed-by: Erez Shitrit <erezsh@nvidia.com >
Reviewed-by: Saeed Mahameed <saeedm@nvidia.com >
Signed-off-by: Bodong Wang <bodong@mellanox.com >
Link: https://lore.kernel.org/r/4265925178ab3224dc1d3e3784bb312d808edca5.1661763785.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-05 14:54:39 +03:00
Tom Talpey
fc5e1acf6a
RDMA/siw: Add missing Kconfig selections
...
The SoftiWARP Kconfig is missing "select" for CRYPTO and CRYPTO_CRC32C.
In addition, it improperly "depends on" LIBCRC32C, this should be a
"select", similar to net/sctp and others. As a dependency, SIW fails
to appear in generic configurations.
Link: https://lore.kernel.org/r/d366bf02-3271-754f-fc68-1a84016d0e19@talpey.com
Signed-off-by: Tom Talpey <tom@talpey.com >
Acked-by: Bernard Metzler <bmt@zurich.ibm.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-09-01 10:12:01 +03:00
Daisuke Matsuda
2c02249fcb
RDMA/rxe: Delete error messages triggered by incoming Read requests
...
An incoming Read request causes multiple Read responses. If a user MR to
copy data from is unavailable or responder cannot send a reply, then the
error messages can be printed for each response attempt, resulting in
message overflow.
Link: https://lore.kernel.org/r/20220829071218.1639065-1-matsuda-daisuke@fujitsu.com
Signed-off-by: Daisuke Matsuda <matsuda-daisuke@fujitsu.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-31 09:57:09 +03:00
Zhu Yanjun
f07853582d
RDMA/rxe: Remove the unused variable obj
...
The member variable obj in struct rxe_task is not needed.
So remove it to save memory.
Link: https://lore.kernel.org/r/20220822011615.805603-4-yanjun.zhu@linux.dev
Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev >
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com >
Reviewed-by: Bob Pearson <rpearsonhpe@gmail.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-31 09:53:13 +03:00
Zhu Yanjun
548ce2e667
RDMA/rxe: Fix the error caused by qp->sk
...
When sock_create_kern in the function rxe_qp_init_req fails,
qp->sk is set to NULL.
Then the function rxe_create_qp will call rxe_qp_do_cleanup
to handle allocated resource.
Before handling qp->sk, this variable should be checked.
Fixes: 8700e3e7c4 ("Soft RoCE driver")
Link: https://lore.kernel.org/r/20220822011615.805603-3-yanjun.zhu@linux.dev
Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev >
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com >
Reviewed-by: Bob Pearson <rpearsonhpe@gmail.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-31 09:53:13 +03:00
Zhu Yanjun
a625ca30ef
RDMA/rxe: Fix "kernel NULL pointer dereference" error
...
When rxe_queue_init in the function rxe_qp_init_req fails,
both qp->req.task.func and qp->req.task.arg are not initialized.
Because of creation of qp fails, the function rxe_create_qp will
call rxe_qp_do_cleanup to handle allocated resource.
Before calling __rxe_do_task, both qp->req.task.func and
qp->req.task.arg should be checked.
Fixes: 8700e3e7c4 ("Soft RoCE driver")
Link: https://lore.kernel.org/r/20220822011615.805603-2-yanjun.zhu@linux.dev
Reported-by: syzbot+ab99dc4c6e961eed8b8e@syzkaller.appspotmail.com
Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev >
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com >
Reviewed-by: Bob Pearson <rpearsonhpe@gmail.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-31 09:53:12 +03:00
Wenpeng Liang
bfb3bde954
RDMA/hns: Remove redundant member doorbell_qpn of struct hns_roce_qp
...
The value of doorbell_qpn is always equal to qpn on current hardware
versions. So remove it.
Link: https://lore.kernel.org/r/20220829105021.1427804-5-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-30 12:14:23 +03:00
Mark Zhang
637ff8ea00
IB/cm: Refactor cm_insert_listen() and cm_find_listen()
...
Move the device and service_id match code at the top of
cm_insert_listen() and cm_find_listen() into the final else branch.
Link: https://lore.kernel.org/r/20220819090859.957943-4-markzhang@nvidia.com
Signed-off-by: Mark Zhang <markzhang@nvidia.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-30 12:14:23 +03:00
Mark Zhang
a461b746c5
IB/cm: remove cm_id_priv->id.service_mask and service_mask parameter of cm_init_listen()
...
The service_mask is always ~cpu_to_be64(0), so the result is always
a NOP when it is &'d with a service_id. Remove it for simplicity.
Link: https://lore.kernel.org/r/20220819090859.957943-3-markzhang@nvidia.com
Signed-off-by: Mark Zhang <markzhang@nvidia.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-30 12:14:23 +03:00
Mark Zhang
91a3f14ec9
IB/cm: Remove the service_mask parameter from ib_cm_listen()
...
Remove the service_mask parameter of ib_cm_listen(), as all callers
use 0.
Link: https://lore.kernel.org/r/20220819090859.957943-2-markzhang@nvidia.com
Signed-off-by: Mark Zhang <markzhang@nvidia.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-30 12:14:23 +03:00
Guoqing Jiang
6edd86a2d2
RDMA/rtrs: Remove 'dir' argument from rnbd_srv_rdma_ev
...
Since process_{read,write} already prints direction info if ctx->ops.rdma_ev
fails, no need to pass 'dir'.
Link: https://lore.kernel.org/r/20220826081117.21687-1-guoqing.jiang@linux.dev
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-30 12:13:57 +03:00
Daisuke Matsuda
d4ecb56e86
RDMA/rxe: Remove an unused member from struct rxe_mr
...
Commit 1e75550648 ("Revert "RDMA/rxe: Create duplicate mapping tables for
FMRs"") brought back the member 'va' to struct rxe_mr. However, it is
actually used by nobody and thus can be removed.
Fixes: 1e75550648 ("Revert "RDMA/rxe: Create duplicate mapping tables for FMRs"")
Link: https://lore.kernel.org/r/20220829012335.1212697-1-matsuda-daisuke@fujitsu.com
Signed-off-by: Daisuke Matsuda <matsuda-daisuke@fujitsu.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-29 09:44:07 +03:00
Yunsheng Lin
05195dcb43
RDMA/core: Remove 'device' argument from rdma_build_skb()
...
'device' argument is never used since rdma_build_skb()
is introduced, so remove it.
Link: https://lore.kernel.org/r/20220826143215.18111-1-linyunsheng@huawei.com
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-28 14:29:07 +03:00
Bart Van Assche
b8a9c18c2f
RDMA/srp: Use the attribute group mechanism for sysfs attributes
...
Simplify the SRP driver by using the attribute group mechanism instead
of calling device_create_file() explicitly.
Link: https://lore.kernel.org/r/20220825213900.864587-5-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-28 13:02:28 +03:00
Bart Van Assche
351e458f72
RDMA/srp: Handle dev_set_name() failure
...
Instead of ignoring dev_set_name() failure, handle dev_set_name()
failure. Convert a device_register() call into device_initialize() and
device_add() calls.
Link: https://lore.kernel.org/r/20220825213900.864587-4-bvanassche@acm.org
Reported-by: Bo Liu <liubo03@inspur.com >
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-28 13:02:20 +03:00
Bart Van Assche
0766fcaa1e
RDMA/srp: Remove the srp_host.released completion
...
Move the kfree(host) calls into srp_release_dev(). Convert a
device_unregister() call into a device_del() and a device_put() call.
Remove the host->released completion object. This patch prepares for
handling dev_set_name() failure in srp_add_port().
Link: https://lore.kernel.org/r/20220825213900.864587-3-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-28 13:02:12 +03:00
Bart Van Assche
c8e4c23976
RDMA/srp: Rework the srp_add_port() error path
...
device_register() always calls device_initialize() so calling device_del()
is safe even if device_register() fails. Implement the following advice
from the comment block above device_register(): "NOTE: _Never_ directly free
@dev after calling this function, even if it returned an error! Always use
put_device() to give up the reference initialized in this function instead."
Keep the kfree() call in the error path since srp_release_dev() does not
free the host.
Link: https://lore.kernel.org/r/20220825213900.864587-2-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-28 13:02:04 +03:00
Wenpeng Liang
3d67e7e236
RDMA/hns: Support MR's restrack raw ops for hns driver
...
The MR raw restrack attributes come from the queue context maintained by
the ROCEE.
For example:
$ rdma res show mr dev hns_0 mrn 6 -dd -jp -r
[ {
"ifindex": 4,
"ifname": "hns_0",
"data": [ 1,0,0,0,2,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,32,0,0,0,2,0,0,0,
2,0,0,0,0,0,0,0 ]
} ]
Link: https://lore.kernel.org/r/20220822104455.2311053-8-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-24 08:47:18 +03:00
Wenpeng Liang
dc9981ef17
RDMA/hns: Support MR's restrack ops for hns driver
...
The MR restrack attributes come from the queue information maintained by
the driver.
For example:
$ rdma res show mr dev hns_0 mrn 6 -dd -jp
[ {
"ifindex": 4,
"ifname": "hns_0",
"mrn": 6,
"rkey": "300",
"lkey": "300",
"mrlen": 131072,
"pdn": 8,
"pid": 1524,
"comm": "ib_send_bw"
},
"drv_pbl_hop_num": 2,
"drv_ba_pg_shift": 14,
"drv_buf_pg_shift": 12
}
Link: https://lore.kernel.org/r/20220822104455.2311053-7-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-23 11:35:22 +03:00
Wenpeng Liang
3e89d78b21
RDMA/hns: Support QP's restrack raw ops for hns driver
...
The QP raw restrack attributes come from the queue context maintained by
the ROCEE.
For example:
$ rdma res show qp link hns_0 -jp -dd -r
[ {
"ifindex": 4,
"ifname": "hns_0",
"data": [ 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,255,156,0,0,63,156,0,0,
7,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,156,0,
0,0,0,0,0 ]
} ]
Link: https://lore.kernel.org/r/20220822104455.2311053-6-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-23 11:35:13 +03:00
Wenpeng Liang
e198d65d76
RDMA/hns: Support QP's restrack ops for hns driver
...
The QP restrack attributes come from the queue information maintained by
the driver.
For example:
$ rdma res show qp link hns_0 lqpn 41 -jp -dd
[ {
"ifindex": 4,
"ifname": "hns_0",
"port": 1,
"lqpn": 41,
"rqpn": 40,
"type": "RC",
"state": "RTR",
"rq-psn": 12474738,
"sq-psn": 0,
"path-mig-state": "ARMED",
"pdn": 9,
"pid": 1523,
"comm": "ib_send_bw"
},
"drv_sq_wqe_cnt": 128,
"drv_sq_max_gs": 1,
"drv_rq_wqe_cnt": 512,
"drv_rq_max_gs": 2,
"drv_ext_sge_sge_cnt": 0
}
Link: https://lore.kernel.org/r/20220822104455.2311053-5-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-23 11:35:05 +03:00
Wenpeng Liang
f2b070f36d
RDMA/hns: Support CQ's restrack raw ops for hns driver
...
The CQ raw restrack attributes come from the queue context maintained by
the ROCEE.
For example:
$ rdma res show cq dev hns_0 cqn 14 -dd -jp -r
[ {
"ifindex": 4,
"ifname": "hns_0",
"data": [ 1,0,0,0,7,0,0,0,0,0,0,0,0,82,6,0,0,82,6,0,0,82,6,0,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
6,0,0,0,0,0,0,0 ]
} ]
Link: https://lore.kernel.org/r/20220822104455.2311053-4-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-23 11:34:58 +03:00
Wenpeng Liang
eb00b9a08b
RDMA/hns: Add or remove CQ's restrack attributes
...
Remove the resttrack attributes from the queue context held by ROCEE, and
add the resttrack attributes from the queue information maintained by the
driver.
For example:
$ rdma res show cq dev hns_0 cqn 14 -dd -jp
[ {
"ifindex": 4,
"ifname": "hns_0",
"cqn": 14,
"cqe": 127,
"users": 1,
"adaptive-moderation": false,
"ctxn": 8,
"pid": 1524,
"comm": "ib_send_bw"
},
"drv_cq_depth": 128,
"drv_cons_index": 0,
"drv_cqe_size": 32,
"drv_arm_sn": 1
}
Link: https://lore.kernel.org/r/20220822104455.2311053-3-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-23 11:34:51 +03:00
Wenpeng Liang
40b4b79c86
RDMA/hns: Remove redundant DFX file and DFX ops structure
...
There is no need to use a dedicated DXF file and DFX structure to manage
the interface of the query queue context.
Link: https://lore.kernel.org/r/20220822104455.2311053-2-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-23 11:34:42 +03:00
Daisuke Matsuda
ca7ef7adad
IB/mlx5: Remove duplicate header inclusion related to ODP
...
rdma/ib_umem.h and rdma/ib_verbs.h are included by rdma/ib_umem_odp.h.
This patch removes the redundant entries.
Link: https://lore.kernel.org/r/20220823025131.862811-1-matsuda-daisuke@fujitsu.com
Signed-off-by: Daisuke Matsuda <matsuda-daisuke@fujitsu.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-23 11:22:13 +03:00
Wolfram Sang
2c34bb6dea
IB: move from strlcpy with unused retval to strscpy
...
Follow the advice of the below link and prefer 'strscpy' in this
subsystem. Conversion is 1:1 because the return value is not used.
Generated by a coccinelle script.
Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Link: https://lore.kernel.org/r/20220818210018.6841-1-wsa+renesas@sang-engineering.com
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-21 14:18:02 +03:00
Michael Margolin
dc13fbf79e
RDMA/efa: Support CQ receive entries with source GID
...
Add a parameter for create CQ admin command to set source address on
receive completion descriptors. Report capability for this feature
through query device verb.
Link: https://lore.kernel.org/r/20220818140449.414-1-mrgolin@amazon.com
Reviewed-by: Firas Jahjah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-21 12:35:59 +03:00
Jack Wang
b722d3e63f
RDMA/rtrs-clt: Output sg index when warning on
...
Output the sg index, so it's a bit easier for debug.
Signed-off-by: Jack Wang <jinpu.wang@ionos.com >
Reviewed-by: Aleksei Marov <aleksei.marov@ionos.com >
Link: https://lore.kernel.org/r/20220818105355.110344-2-haris.iqbal@ionos.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-21 12:25:46 +03:00
Santosh Pradhan
c16762b7bf
RDMA/rtrs-srv: Add event tracing support
...
Add event tracing mechanism for following routines:
- send_io_resp_imm()
How to use:
1. Load the rtrs_server module
2. cd /sys/kernel/debug/tracing
3. If all the events need to be enabled:
echo 1 > events/rtrs_srv/enable
4. OR only speific routine/event needs to be enabled e.g.
echo 1 > events/rtrs_srv/send_io_resp_imm/enable
5. cat trace
6. Run some I/O workload which can trigger send_io_resp_imm()
Link: https://lore.kernel.org/r/20220818105240.110234-3-haris.iqbal@ionos.com
Signed-off-by: Santosh Pradhan <santosh.pradhan@ionos.com >
Signed-off-by: Jack Wang <jinpu.wang@ionos.com >
Signed-off-by: Md Haris Iqbal <haris.iqbal@ionos.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-21 12:04:58 +03:00
Santosh Pradhan
5a93929d9f
RDMA/rtrs-clt: Add event tracing support
...
Add event tracing mechanism for following routines:
- rtrs_clt_reconnect_work()
- rtrs_clt_close_conns()
- rtrs_rdma_error_recovery()
How to use:
1. Load the rtrs_client module
2. cd /sys/kernel/debug/tracing
3. If all the events need to be enabled:
echo 1 > events/rtrs_clt/enable
4. OR only speific routine/event needs to be enabled e.g.
echo 1 > events/rtrs_clt/rtrs_clt_close_conns/enable
5. cat trace
6. Run some workload which can trigger rtrs_clt_close_conns()
Link: https://lore.kernel.org/r/20220818105240.110234-2-haris.iqbal@ionos.com
Signed-off-by: Santosh Pradhan <santosh.pradhan@ionos.com >
Signed-off-by: Jack Wang <jinpu.wang@ionos.com >
Signed-off-by: Md Haris Iqbal <haris.iqbal@ionos.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-21 12:04:39 +03:00
Aharon Landau
13ad1125b9
RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey
...
According to the ib spec:
If the CI supports the Base Memory Management Extensions defined in this
specification, the L_Key format must consist of:
24 bit index in the most significant bits of the R_Key, and
8 bit key in the least significant bits of the R_Key
Through a successful Allocate L_Key verb invocation, the CI must let the
consumer own the key portion of the returned R_Key
Therefore, when creating a mkey using DEVX, the consumer is allowed to
change the key part. The kernel should compare only the index part of a
R_Key to determine equality with another R_Key.
Adding capability in order not to break backward compatibility.
Fixes: 534fd7aac5 ("IB/mlx5: Manage indirection mkey upon DEVX flow for ODP")
Link: https://lore.kernel.org/r/3d669aacea85a3a15c3b3b953b3eaba3f80ef9be.1659255945.git.leonro@nvidia.com
Signed-off-by: Aharon Landau <aharonl@nvidia.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-16 15:21:52 +03:00
Jason Gunthorpe
19d6214ad6
IB/mlx5: Call io_stop_wc() after writing to WC MMIO
...
This new function is defined only on ARM and serves to guarantee a barrier
in the WC operation. The barrier means that another run of this loop will
not combine with the stores this loop created.
On x86 this is happening implicitly because of the spin_unlock().
Link: https://lore.kernel.org/r/0-v1-c5dade92f363+11-mlx5_io_stop_wc_jgg@nvidia.com
Suggested-by: Pavel Shamis <Pavel.Shamis@arm.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-16 15:08:31 +03:00
Linus Torvalds
568035b01c
Linux 6.0-rc1
v6.0-rc1
2022-08-14 15:50:18 -07:00