This is a follow up to the review comments of the series which makes softirq processing PREEMPT_RT safe: https://lore.kernel.org/r/20201207114743.GK3040@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Peter suggested to replace the spin waiting in tasklet_disable() and tasklet_kill() with wait_event(). This also gets rid of the ill defined sched_yield() in tasklet_kill(). Analyzing all usage sites of tasklet_disable() and tasklet_unlock_wait() we found that most of them are safe to be converted to a sleeping wait. Only a few instances invoke tasklet_disable() from atomic context. A few bugs which have been found in course of this analysis have been already addressed seperately. The following series takes the following approach: 1) Provide a variant of tasklet_disable() which can be invoked from atomic contexts 2) Convert the usage sites which cannot be easily changed to a sleepable wait to use this new function 3) Replace the spin waits in tasklet_disable() and tasklet_kill() with sleepable variants. If this is agreed on then the merging can be either done in bulk or the first 4 patches could be applied on top of rc2 and tagged for consumption in the relevant subsystem trees (networking, pci, firewire). In this case the last patch which changes the implementation of tasklet_disable() has to be post-poned until all other changes have reached mainline. The series is also available from git: git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git tasklet-2021-03-09 Thanks, tglx