Re: [PATCH 9/9] mmc: Convert from tasklet to BH workqueue
From: Aubin Constans
Date: Mon Jun 03 2024 - 08:39:44 EST
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@xxxxxxxxxx>
Branch: https://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-6.10
Signed-off-by: Allen Pais <allen.lkml@xxxxxxxxx>
---
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@xxxxxxxxxxxxx>
Acked-by: Aubin Constans <aubin.constans@xxxxxxxxxxxxx>
Thanks.
[1]:
https://lore.kernel.org/linux-mmc/CAOMdWSLipPfm3OZTpjZz4uF4M+E_8QAoTeMcKBXawLnkTQx6Jg@xxxxxxxxxxxxxx/