Re: [PATCH 7/9] s390: Convert from tasklet to BH workqueue

From: Alexandra Winter
Date: Tue Apr 02 2024 - 08:50:07 EST




On 27.03.24 17:03, Allen Pais wrote:
> The only generic interface to execute asynchronously in the BH context is
> tasklet; however, it's marked deprecated and has some design flaws. To
> replace tasklets, BH workqueue support was recently added. A BH workqueue
> behaves similarly to regular workqueues except that the queued work items
> are executed in the BH context.
>
> This patch converts drivers/infiniband/* from tasklet to BH workqueue.
>
> Based on the work done by Tejun Heo <tj@xxxxxxxxxx>
> Branch: https://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-6.10
>
> Note: Not tested. Please test/review.
>
> Signed-off-by: Allen Pais <allen.lkml@xxxxxxxxx>
> ---
> drivers/s390/block/dasd.c | 42 ++++++++++++------------
> drivers/s390/block/dasd_int.h | 10 +++---
> drivers/s390/char/con3270.c | 27 ++++++++--------
> drivers/s390/crypto/ap_bus.c | 24 +++++++-------
> drivers/s390/crypto/ap_bus.h | 2 +-
> drivers/s390/crypto/zcrypt_msgtype50.c | 2 +-
> drivers/s390/crypto/zcrypt_msgtype6.c | 4 +--
> drivers/s390/net/ctcm_fsms.c | 4 +--
> drivers/s390/net/ctcm_main.c | 15 ++++-----
> drivers/s390/net/ctcm_main.h | 5 +--
> drivers/s390/net/ctcm_mpc.c | 12 +++----
> drivers/s390/net/ctcm_mpc.h | 7 ++--
> drivers/s390/net/lcs.c | 26 +++++++--------
> drivers/s390/net/lcs.h | 2 +-
> drivers/s390/net/qeth_core_main.c | 2 +-
> drivers/s390/scsi/zfcp_qdio.c | 45 +++++++++++++-------------
> drivers/s390/scsi/zfcp_qdio.h | 9 +++---
> 17 files changed, 117 insertions(+), 121 deletions(-)
>


We're looking into the best way to test this.

For drivers/s390/net/ctcm* and drivers/s390/net/lcs*:
Acked-by: Alexandra Winter <wintera@xxxxxxxxxxxxx>


[...]
> diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
> index a0cce6872075..10ea95abc753 100644
> --- a/drivers/s390/net/qeth_core_main.c
> +++ b/drivers/s390/net/qeth_core_main.c
> @@ -2911,7 +2911,7 @@ static int qeth_init_input_buffer(struct qeth_card *card,
> }
>
> /*
> - * since the buffer is accessed only from the input_tasklet
> + * since the buffer is accessed only from the input_work
> * there shouldn't be a need to synchronize; also, since we use
> * the QETH_IN_BUF_REQUEUE_THRESHOLD we should never run out off
> * buffers

I propose to delete the whole comment block. There have been many changes and
I don't think it is helpful for the current qeth driver.