On Thu, 28 Mar 2024 at 17:21, Tejun Heo <tj@xxxxxxxxxx> wrote: > > Hello, > > On Thu, Mar 28, 2024 at 01:53:25PM +0100, Ulf Hansson wrote: > > At this point we have suggested to drivers to switch to use threaded > > irq handlers (and regular work queues if needed too). That said, > > what's the benefit of using the BH work queue? > > BH workqueues should behave about the same as tasklets which have more > limited interface and is subtly broken in an expensive-to-fix way (around > freeing in-flight work item), so the plan is to replace tasklets with BH > workqueues and remove tasklets from the kernel. Seems like a good approach! > > The [dis]advantages of BH workqueues over threaded IRQs or regular threaded > workqueues are the same as when you compare them to tasklets. No thread > switching overhead, so latencies will be a bit tighter. Wheteher that > actually matters really depends on the use case. Here, the biggest advantage > is that it's mostly interchangeable with tasklets and can thus be swapped > easily. Right, thanks for clarifying! However, the main question is then - if/when it makes sense to use the BH workqueue for an mmc host driver. Unless there are some HW limitations, a threaded irq handler should be sufficient, I think. That said, moving to threaded irq handlers is a different topic and doesn't prevent us from moving to BH workqueues as it seems like a step in the right direction. Kind regards Uffe