From: Yanjun Zhu <yanjun.zhu@linux.dev>
To: Bob Pearson <rpearsonhpe@gmail.com>,
jgg@nvidia.com, leon@kernel.org, zyjzyj2000@gmail.com,
jhack@hpe.com, linux-rdma@vger.kernel.org
Cc: Ian Ziemba <ian.ziemba@hpe.com>
Subject: Re: [PATCH for-next v3 03/13] RDMA/rxe: Simplify reset state handling in rxe_resp.c
Date: Fri, 11 Nov 2022 11:04:09 +0800 [thread overview]
Message-ID: <9f649db1-a0f9-dff4-ad0b-905a356c7459@linux.dev> (raw)
In-Reply-To: <20221029031009.64467-4-rpearsonhpe@gmail.com>
在 2022/10/29 11:10, Bob Pearson 写道:
> Make rxe_responder() more like rxe_completer() and take qp reset
> handling out of the state machine.
From RDMA spec, qp reset is part of qp states. If qp reset is moved out
of the state machine. And other devices still take qp reset in the state
machine. Will this make difference on the connection between rxe and
other ib devices, such as irdma, mlx devices.
You know, rxe should make basic connections with other ib devices.
Zhu Yanjun
>
> Signed-off-by: Ian Ziemba <ian.ziemba@hpe.com>
> Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
> ---
> drivers/infiniband/sw/rxe/rxe_resp.c | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/infiniband/sw/rxe/rxe_resp.c b/drivers/infiniband/sw/rxe/rxe_resp.c
> index c32bc12cc82f..c4f365449aa5 100644
> --- a/drivers/infiniband/sw/rxe/rxe_resp.c
> +++ b/drivers/infiniband/sw/rxe/rxe_resp.c
> @@ -40,7 +40,6 @@ enum resp_states {
> RESPST_ERR_LENGTH,
> RESPST_ERR_CQ_OVERFLOW,
> RESPST_ERROR,
> - RESPST_RESET,
> RESPST_DONE,
> RESPST_EXIT,
> };
> @@ -75,7 +74,6 @@ static char *resp_state_name[] = {
> [RESPST_ERR_LENGTH] = "ERR_LENGTH",
> [RESPST_ERR_CQ_OVERFLOW] = "ERR_CQ_OVERFLOW",
> [RESPST_ERROR] = "ERROR",
> - [RESPST_RESET] = "RESET",
> [RESPST_DONE] = "DONE",
> [RESPST_EXIT] = "EXIT",
> };
> @@ -1281,8 +1279,9 @@ int rxe_responder(void *arg)
>
> switch (qp->resp.state) {
> case QP_STATE_RESET:
> - state = RESPST_RESET;
> - break;
> + rxe_drain_req_pkts(qp, false);
> + qp->resp.wqe = NULL;
> + goto exit;
>
> default:
> state = RESPST_GET_REQ;
> @@ -1441,11 +1440,6 @@ int rxe_responder(void *arg)
>
> goto exit;
>
> - case RESPST_RESET:
> - rxe_drain_req_pkts(qp, false);
> - qp->resp.wqe = NULL;
> - goto exit;
> -
> case RESPST_ERROR:
> qp->resp.goto_error = 0;
> pr_debug("qp#%d moved to error state\n", qp_num(qp));
next prev parent reply other threads:[~2022-11-11 3:04 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-29 3:09 [PATCH for-next v3 00/13] Implement work queues for rdma_rxe Bob Pearson
2022-10-29 3:09 ` [PATCH for-next v3 01/13] RDMA/rxe: Make task interface pluggable Bob Pearson
2022-11-11 2:28 ` Yanjun Zhu
2022-10-29 3:09 ` [PATCH for-next v3 02/13] RDMA/rxe: Split rxe_drain_resp_pkts() Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 03/13] RDMA/rxe: Simplify reset state handling in rxe_resp.c Bob Pearson
2022-11-11 3:04 ` Yanjun Zhu [this message]
2022-10-29 3:10 ` [PATCH for-next v3 04/13] RDMA/rxe: Handle qp error " Bob Pearson
2022-10-29 3:10 ` [PATCH v3 05/13] RDMA/rxe: Cleanup comp tasks in rxe_qp.c Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 06/13] RDMA/rxe: Remove __rxe_do_task() Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 07/13] RDMA/rxe: Make tasks schedule each other Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 08/13] RDMA/rxe: Implement disable/enable_task() Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 09/13] RDMA/rxe: Replace TASK_STATE_START by TASK_STATE_IDLE Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 10/13] RDMA/rxe: Replace task->destroyed by task state INVALID Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 11/13] RDMA/rxe: Add workqueue support for tasks Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 12/13] RDMA/rxe: Make WORKQUEUE default for RC tasks Bob Pearson
2022-10-29 3:10 ` [PATCH for-next v3 13/13] RDMA/rxe: Remove tasklets from rxe_task.c Bob Pearson
2022-11-02 10:17 ` [PATCH for-next v3 00/13] Implement work queues for rdma_rxe Daisuke Matsuda (Fujitsu)
2022-11-02 11:20 ` Bob Pearson
2022-11-04 4:59 ` Daisuke Matsuda (Fujitsu)
2022-11-05 21:15 ` Bob Pearson
2022-11-07 8:21 ` Daisuke Matsuda (Fujitsu)
2022-11-07 16:06 ` Bob Pearson
2022-11-18 5:02 ` Daisuke Matsuda (Fujitsu)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9f649db1-a0f9-dff4-ad0b-905a356c7459@linux.dev \
--to=yanjun.zhu@linux.dev \
--cc=ian.ziemba@hpe.com \
--cc=jgg@nvidia.com \
--cc=jhack@hpe.com \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=rpearsonhpe@gmail.com \
--cc=zyjzyj2000@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).