Re: [PATCH v2 00/64] dmaengine: migrate channel tasklets to WQ_BH
From: Allen
Date: Mon Aug 03 2026 - 23:31:18 EST
> > 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