All of lore.kernel.org
 help / color / mirror / Atom feed
From: haris iqbal <haris.phnx@gmail.com>
To: Bob Pearson <rpearsonhpe@gmail.com>
Cc: jgg@nvidia.com, zyjzyj2000@gmail.com,
	matsuda-daisuke@fujitsu.com, lizhijian@fujitsu.com,
	leon@kernel.org, linux-rdma@vger.kernel.org, jenny.hack@hpe.com,
	ian.ziemba@hpe.com
Subject: Re: [PATCH for-next 00/16] Implement work queues for rdma_rxe
Date: Thu, 20 Oct 2022 17:02:20 +0200	[thread overview]
Message-ID: <CAE_WKMz8kTWY_-BCheuqj+szpS9rkSrE+NFGLa-0-WXcKr5Sug@mail.gmail.com> (raw)
In-Reply-To: <20221018043345.4033-1-rpearsonhpe@gmail.com>

On Tue, Oct 18, 2022 at 6:39 AM Bob Pearson <rpearsonhpe@gmail.com> wrote:
>
> This patch series implements work queues as an alternative for
> the main tasklets in the rdma_rxe driver. The first few patches
> perform some cleanups of the current tasklet code followed by a
> patch that makes the internal API for task execution pluggable and
> implements an inline and a tasklet based set of functions.
> The remaining patches cleanup the qp reset and error code in the
> three tasklets and modify the locking logic to prevent making
> multiple calls to the tasklet scheduling routine. Finally after
> this preparation the work queue equivalent set of functions is
> added and module parameters are implemented to allow tuning the
> task types.
>
> The advantages of the work queue version of deferred task execution
> is mainly that the work queue variant has much better scalability
> and overall performance than the tasklet variant. The tasklet
> performance saturates with one connected queue pair and stays constant.
> The work queue performance is slightly better for one queue pair but
> scales up with the number of connected queue pairs. The perftest
> microbenchmarks in local loopback mode (not a very realistic test
> case) can reach approximately 100Gb/sec with work queues compared to
> about 16Gb/sec for tasklets.
>
> This patch series is derived from an earlier patch set developed by
> Ian Ziemba at HPE which is used in some Lustre storage clients attached
> to Lustre servers with hard RoCE v2 NICs.
>
> Bob Pearson (16):
>   RDMA/rxe: Remove init of task locks from rxe_qp.c
>   RDMA/rxe: Removed unused name from rxe_task struct
>   RDMA/rxe: Split rxe_run_task() into two subroutines
>   RDMA/rxe: Make rxe_do_task static
>   RDMA/rxe: Rename task->state_lock to task->lock
>   RDMA/rxe: Make task interface pluggable
>   RDMA/rxe: Simplify reset state handling in rxe_resp.c
>   RDMA/rxe: Split rxe_drain_resp_pkts()
>   RDMA/rxe: Handle qp error in rxe_resp.c
>   RDMA/rxe: Cleanup comp tasks in rxe_qp.c
>   RDMA/rxe: Remove __rxe_do_task()
>   RDMA/rxe: Make tasks schedule each other
>   RDMA/rxe: Implement disable/enable_task()
>   RDMA/rxe: Replace TASK_STATE_START by TASK_STATE_IDLE
>   RDMA/rxe: Add workqueue support for tasks
>   RDMA/rxe: Add parameters to control task type
>
>  drivers/infiniband/sw/rxe/rxe.c       |   9 +-
>  drivers/infiniband/sw/rxe/rxe_comp.c  |  35 ++-
>  drivers/infiniband/sw/rxe/rxe_net.c   |   4 +-
>  drivers/infiniband/sw/rxe/rxe_qp.c    |  87 +++----
>  drivers/infiniband/sw/rxe/rxe_req.c   |  10 +-
>  drivers/infiniband/sw/rxe/rxe_resp.c  |  75 ++++--
>  drivers/infiniband/sw/rxe/rxe_task.c  | 354 ++++++++++++++++++++------
>  drivers/infiniband/sw/rxe/rxe_task.h  |  76 +++---
>  drivers/infiniband/sw/rxe/rxe_verbs.c |   8 +-
>  9 files changed, 451 insertions(+), 207 deletions(-)
>
>
> base-commit: 9abf2313adc1ca1b6180c508c25f22f9395cc780

The patch series is not applying cleanly over the mentioned commit for
me. Patch 'PATCH for-next 05/16] RDMA/rxe: Rename task->state_lock to
task->lock.' fails at "drivers/infiniband/sw/rxe/rxe_task.c:103".
I corrected that manually, then it fails in the next commit. Didn't
check after that. Is it the same for others or is it just me?

> --
> 2.34.1
>

  parent reply	other threads:[~2022-10-20 15:02 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-18  4:33 [PATCH for-next 00/16] Implement work queues for rdma_rxe Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 01/16] RDMA/rxe: Remove init of task locks from rxe_qp.c Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 02/16] RDMA/rxe: Removed unused name from rxe_task struct Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 03/16] RDMA/rxe: Split rxe_run_task() into two subroutines Bob Pearson
2022-10-18  4:33 ` [PATCH 04/16] for-next RDMA/rxe: Make rxe_do_task static Bob Pearson
2022-10-19  9:39   ` matsuda-daisuke
2022-10-18  4:33 ` [PATCH for-next 05/16] RDMA/rxe: Rename task->state_lock to task->lock Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 06/16] RDMA/rxe: Make task interface pluggable Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 07/16] RDMA/rxe: Simplify reset state handling in rxe_resp.c Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 08/16] RDMA/rxe: Split rxe_drain_resp_pkts() Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 09/16] RDMA/rxe: Handle qp error in rxe_resp.c Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 10/16] RDMA/rxe: Cleanup comp tasks in rxe_qp.c Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 11/16] RDMA/rxe: Remove __rxe_do_task() Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 12/16] RDMA/rxe: Make tasks schedule each other Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 13/16] RDMA/rxe: Implement disable/enable_task() Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 14/16] RDMA/rxe: Replace TASK_STATE_START by TASK_STATE_IDLE Bob Pearson
2022-10-18  4:33 ` [PATCH for-next 15/16] RDMA/rxe: Add workqueue support for tasks Bob Pearson
2022-10-18  8:59   ` Leon Romanovsky
2022-10-18 15:18     ` Bob Pearson
2022-10-18 17:52       ` Leon Romanovsky
2022-10-20  9:28       ` matsuda-daisuke
2022-10-18  4:33 ` [PATCH for-next 16/16] RDMA/rxe: Add parameters to control task type Bob Pearson
2022-10-18  9:02   ` Leon Romanovsky
2022-10-18 15:22     ` Bob Pearson
2022-10-18 17:55       ` Leon Romanovsky
2022-10-20 15:02 ` haris iqbal [this message]
2022-10-21  2:46   ` [PATCH for-next 00/16] Implement work queues for rdma_rxe matsuda-daisuke
2022-10-21  3:40     ` Bob Pearson
2022-10-21  6:02   ` Bob Pearson

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=CAE_WKMz8kTWY_-BCheuqj+szpS9rkSrE+NFGLa-0-WXcKr5Sug@mail.gmail.com \
    --to=haris.phnx@gmail.com \
    --cc=ian.ziemba@hpe.com \
    --cc=jenny.hack@hpe.com \
    --cc=jgg@nvidia.com \
    --cc=leon@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=lizhijian@fujitsu.com \
    --cc=matsuda-daisuke@fujitsu.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.