Re: preempt_check_resched() gone?

From: Thomas Gleixner
Date: Thu Mar 06 2014 - 15:52:42 EST


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