On Thu, 6 Mar 2014, Ville Syrjälä wrote: > Hi, > > It appears preempt_check_resched() is no longer available for modules > since [1]. So now I'm left wondering what is one supposed to use after > local_irq_enable(). Documentation/preempt-locking.txt still says one > should do a check, but the tool to do that was taken away.
The documentation is slightly misleading. The point is: If you have an irq disabled section and you do a wakeup inside this section which causes the need resched bit to be set, then local_irq_enable/restore wont do an preemption check. If you merily poke at a few device registers then nothing will set need resched and you're good. Thanks, tglx