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

Aubin Constans
2024-06-03T12:39:15Z

On 27/03/2024 17:03, Allen Pais wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> 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@kernel.org>
> Branch: https://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-6.10
>
> Signed-off-by: Allen Pais <allen.lkml@gmail.com>
> ---
> drivers/mmc/host/atmel-mci.c | 35 ++++-----
[...]

For atmel-mci, judging from a few simple tests, performance is preserved.
E.g. writing to a SD Card on the SAMA5D3-Xplained board:
time dd if=/dev/zero of=/opt/_del_me bs=4k count=64k

Base 6.9.0 : 0.07user 5.05system 0:18.92elapsed 27%CPU
Patched 6.9.0+: 0.12user 4.92system 0:18.76elapsed 26%CPU

However, please resolve what checkpatch is complaining about:
scripts/checkpatch.pl --strict
PATCH-9-9-mmc-Convert-from-tasklet-to-BH-workqueue.mbox

WARNING: please, no space before tabs
#72: FILE: drivers/mmc/host/atmel-mci.c:367:
+^Istruct work_struct ^Iwork;$

Same as discussions on the USB patch[1] and others in this series, I am
also in favour of "workqueue" or similar in the comments, rather than
just "work".

Apart from that:
Tested-by: Aubin Constans <aubin.constans@microchip.com>
Acked-by: Aubin Constans <aubin.constans@microchip.com>

Thanks.

[1]: