On Wed, 4 Aug 2021 18:31:19 +0200 Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > CPU-local wake-ups just set NEED_RESCHED and wait for preempt_enable() > to do the magic. Just because the code not perform wake_up() now does > not mean it will not do so in the future. Also it is here as an example > which might be copied somewhere else. Does this mean all local_irq_disable/enable() is audited? What do you do for; local_irq_disable(); [..] wakeup_process(x); /* on local CPU */ [..] local_irq_enable(); And if local_irq_disable() is not used anymore, or seldom, what harm would it be to add a preemption check to that caller? And change local_irq_enable() that is used internally by other atom functions be called __local_irq_enable()? Not to mention that we could just open code that too: if (IS_ENABLED(CONFIG_PREEMPT_RT)) { local_irq_enable(); preempt_check_resched(); } And make it ugly enough that nobody will want to copy it :-) -- Steve