All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched: Make preempt_enable_no_resched() behave like preempt_enable() on PREEMPT_RT
@ 2022-03-01 18:30 Sebastian Andrzej Siewior
  2022-03-01 20:14 ` Peter Zijlstra
  0 siblings, 1 reply; 3+ messages in thread
From: Sebastian Andrzej Siewior @ 2022-03-01 18:30 UTC (permalink / raw)
  To: linux-kernel
  Cc: Ben Segall, Daniel Bristot de Oliveira, Dietmar Eggemann,
	Ingo Molnar, Juri Lelli, Mel Gorman, Peter Zijlstra,
	Steven Rostedt, Thomas Gleixner, Vincent Guittot

From: Thomas Gleixner <tglx@linutronix.de>

Use the distinction that has been made earlier between
preempt_enable_no_resched() and sched_preempt_enable_no_resched().
sched_preempt_enable_no_resched() is used within the scheduler where an
immediate schedule() follows. preempt_enable_no_resched() is used
outside of the scheduler and an immediate schedule() invocation may not
follow for other reasons.

The lack of an immediate schedule() invocation matters on PREEMPT_RT
where it will introduce latencies while the scheduler expects a context
switch.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 include/linux/preempt.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index b4381f255a5ca..582e43856a532 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -210,7 +210,11 @@ do { \
 	preempt_count_dec(); \
 } while (0)
 
-#define preempt_enable_no_resched() sched_preempt_enable_no_resched()
+#ifdef CONFIG_PREEMPT_RT
+# define preempt_enable_no_resched() preempt_enable()
+#else
+# define preempt_enable_no_resched() sched_preempt_enable_no_resched()
+#endif
 
 #define preemptible()	(preempt_count() == 0 && !irqs_disabled())
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-03-01 20:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-01 18:30 [PATCH] sched: Make preempt_enable_no_resched() behave like preempt_enable() on PREEMPT_RT Sebastian Andrzej Siewior
2022-03-01 20:14 ` Peter Zijlstra
2022-03-01 20:23   ` Sebastian Andrzej Siewior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.