Re: [PATCH v2 00/64] dmaengine: migrate channel tasklets to WQ_BH

Allen <[email protected]> Mon, 3 Aug 2026 20:29:26 -0700
Newsgroups org.kernel.vger.dmaengine,org.kernel.vger.linux-kernel
Message-ID <CAOMdWSJDkzwG96A6abqkX+fm5tsr3hi_XKgKFZh6MoYc9dV_QA@mail.gmail.com>
> > Hi Arnd, Vinod and Frank,
> >
> > This series moves DMAengine client completion bottom halves from private
> > tasklets to a common per-channel API backed by WQ_BH.
> >
> > The first patch introduces the dma_chan_*_bh() API with a tasklet backend
> > and converts virt-dma to it. This separates the driver-facing API from its
> > implementation without changing callback context.
> >
> > The second patch switches that backend to a dedicated WQ_BH | WQ_PERCPU
> > workqueue. WQ_BH keeps callbacks in softirq context, while the common API
> > centralizes initialization, scheduling, and synchronization. The
> > workqueue helpers remain internal to DMAengine, and dma_chan_kill_bh()
> > drains scheduled callbacks to preserve tasklet_kill() semantics.
> >
> > The remaining patches convert driver-owned channel completion tasklets
> > and update virt-dma teardown paths. Tasklets used for controller-level
> > processing, recovery, or other non-client-callback work are deliberately
> > left alone because the appropriate replacement may differ by driver.
> >
> > As agreed in the RFC discussion, selecting hardirq callback delivery is a
> > separate API change and is not part of this series.
>
> Hi Allen,
>
> I looked through the series, and this seems all fine to me,
> nice work!
>

Thank you. Could I get your Ack/Review for the series?


>       Arnd


Thanks,
 Allen