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