scheduler fix
Linus,
Please pull the latest sched/urgent Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-urgent-2025-03-14
# HEAD: f3fa0e40df175acd60b71036b9a1fd62310aec03 sched/clock: Don't define sched_clock_irqtime as static key
Fix a sleeping-while-atomic bug caused by a recent optimization utilizing static keys that didn't consider that the static_key_disable() call could be triggered in atomic context.
Revert the optimization.
Thanks,
Ingo
------------------>
Yafang Shao (1):
sched/clock: Don't define sched_clock_irqtime as static key
kernel/sched/cputime.c | 8 ++++---- kernel/sched/sched.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-)
kernel/sched/cputime.c +4 -4
@@ -9,8 +9,6 @@#ifdef CONFIG_IRQ_TIME_ACCOUNTING -DEFINE_STATIC_KEY_FALSE (sched_clock_irqtime); -/* * There are no locks covering percpu hardirq/softirq time. * They are only modified in vtime_account, on corresponding CPU
@@ -24,14 +22,16 @@ DEFINE_STATIC_KEY_FALSE(sched_clock_irqtime);*/ DEFINE_PER_CPU(struct irqtime, cpu_irqtime); +int sched_clock_irqtime; +void enable_sched_clock_irqtime (void ) { -static_branch_enable (&sched_clock_irqtime); + sched_clock_irqtime =1 ; }void disable_sched_clock_irqtime (void ) { -static_branch_disable (&sched_clock_irqtime); + sched_clock_irqtime =0 ; } static void irqtime_account_delta(struct irqtime *irqtime, u64 delta,
kernel/sched/sched.h +2 -2
@@ -3259,11 +3259,11 @@ struct irqtime { }; DECLARE_PER_CPU(struct irqtime, cpu_irqtime); -DECLARE_STATIC_KEY_FALSE (sched_clock_irqtime); +extern int sched_clock_irqtime;static inline int irqtime_enabled (void ) { -return static_branch_likely (&sched_clock_irqtime); +return sched_clock_irqtime; }/*
The pull request you sent on Fri, 14 Mar 2025 10:11:30 +0100:
The pull request you sent on Fri, 14 Mar 2025 10:11:30 +0100:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitsched-urgent-2025-03-14
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/a22ea738f4539afc13aa34a34a631e5aae96bcf8
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html