mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'sched-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fix from Ingo Molnar: "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" * tag 'sched-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/clock: Don't define sched_clock_irqtime as static key
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user