Re: [RFC PATCH 2/7] RDMA/rxe: Convert the triple tasklets to workqueues

From: Yanjun Zhu
Date: Mon Sep 12 2022 - 04:30:40 EST



在 2022/9/12 15:58, matsuda-daisuke@xxxxxxxxxxx 写道:
On Mon, Sep 12, 2022 12:09 AM Bart Van Assche wrote:
On 9/11/22 00:10, Yanjun Zhu wrote:
I also implemented a workqueue for rxe. IMO, can we add a variable to
decide to use tasklet or workqueue?

If user prefer using tasklet, he can set the variable to use
tasklet. And the default is tasklet. Set the variable to another
value to use workqueue.
That's an interesting idea, but I am not sure how users specify it.
IIRC, tasklets are generated when rdma link is added, typically by
executing ' rdma link add' command. I don't think we can add
an device specific option to the utility(iproute2/rdma).

In my workqueue implementation, I used a sysctl variable to set a value to choose tasklet or workqueue.

You can use sysctl or driver parameter to decide to use tasklet or workqueue.

And finally the Macros like #if ... #else ... #endif also acts as a method.

Zhu Yanjun


I'm in favor of removing all uses of the tasklet mechanism because of
the disadvantages of that mechanism. See also:
* "Eliminating tasklets" (https://lwn.net/Articles/239633/).
* "Modernizing the tasklet API" (https://lwn.net/Articles/830964/).
* Sebastian Andrzej Siewior's opinion about tasklets
(https://lore.kernel.org/all/YvovfXMJQAUBsvBZ@xxxxxxxxxxxxx/).
I am also in favor of using workqueues alone not only because of the
disadvantages above but also to avoid complexity. I would like to know
if there is anybody who will bothered by the change especially in terms
of performance.

Thanks,
Daisuke

Thanks,

Bart.