[PATCH 2/9] dma: Convert from tasklet to BH workqueue
Linus Walleij
linus.walleij at linaro.org
Tue Apr 2 05:25:15 PDT 2024
Hi Allen,
thanks for your patch!
On Wed, Mar 27, 2024 at 5:03 PM Allen Pais <apais at linux.microsoft.com> 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/dma/* from tasklet to BH workqueue.
>
> Based on the work done by Tejun Heo <tj at kernel.org>
> Branch: git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-6.10
>
> Signed-off-by: Allen Pais <allen.lkml at gmail.com>
(...)
> diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
(...)
> if (d40c->pending_tx)
> - tasklet_schedule(&d40c->tasklet);
> + queue_work(system_bh_wq, &d40c->work);
Why is "my" driver not allowed to use system_bh_highpri_wq?
I can't see the reasoning between some drivers using system_bh_wq
and others being highpri?
Given the DMA usecase I would expect them all to be high prio.
Yours,
Linus Walleij
More information about the linux-riscv
mailing list