Skip to content

Commit f91a3aa

Browse files
committed
Merge tag 'locking-urgent-2020-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking fixes from Thomas Gleixner: "Two more places which invoke tracing from RCU disabled regions in the idle path. Similar to the entry path the low level idle functions have to be non-instrumentable" * tag 'locking-urgent-2020-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: intel_idle: Fix intel_idle() vs tracing sched/idle: Fix arch_cpu_idle() vs tracing
2 parents 8b7a51b + 6e1d2bc commit f91a3aa

File tree

24 files changed

+84
-55
lines changed

24 files changed

+84
-55
lines changed

arch/alpha/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ EXPORT_SYMBOL(pm_power_off);
5757
void arch_cpu_idle(void)
5858
{
5959
wtint(0);
60-
local_irq_enable();
60+
raw_local_irq_enable();
6161
}
6262

6363
void arch_cpu_idle_dead(void)

arch/arm/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void arch_cpu_idle(void)
7171
arm_pm_idle();
7272
else
7373
cpu_do_idle();
74-
local_irq_enable();
74+
raw_local_irq_enable();
7575
}
7676

7777
void arch_cpu_idle_prepare(void)

arch/arm64/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ void arch_cpu_idle(void)
126126
* tricks
127127
*/
128128
cpu_do_idle();
129-
local_irq_enable();
129+
raw_local_irq_enable();
130130
}
131131

132132
#ifdef CONFIG_HOTPLUG_CPU

arch/csky/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,6 @@ void arch_cpu_idle(void)
102102
#ifdef CONFIG_CPU_PM_STOP
103103
asm volatile("stop\n");
104104
#endif
105-
local_irq_enable();
105+
raw_local_irq_enable();
106106
}
107107
#endif

arch/h8300/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ asmlinkage void ret_from_kernel_thread(void);
5757
*/
5858
void arch_cpu_idle(void)
5959
{
60-
local_irq_enable();
60+
raw_local_irq_enable();
6161
__asm__("sleep");
6262
}
6363

arch/hexagon/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ void arch_cpu_idle(void)
4444
{
4545
__vmwait();
4646
/* interrupts wake us up, but irqs are still disabled */
47-
local_irq_enable();
47+
raw_local_irq_enable();
4848
}
4949

5050
/*

arch/ia64/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ void arch_cpu_idle(void)
239239
if (mark_idle)
240240
(*mark_idle)(1);
241241

242-
safe_halt();
242+
raw_safe_halt();
243243

244244
if (mark_idle)
245245
(*mark_idle)(0);

arch/microblaze/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,5 +149,5 @@ int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpregs)
149149

150150
void arch_cpu_idle(void)
151151
{
152-
local_irq_enable();
152+
raw_local_irq_enable();
153153
}

arch/mips/kernel/idle.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,19 @@ static void __cpuidle r3081_wait(void)
3333
{
3434
unsigned long cfg = read_c0_conf();
3535
write_c0_conf(cfg | R30XX_CONF_HALT);
36-
local_irq_enable();
36+
raw_local_irq_enable();
3737
}
3838

3939
static void __cpuidle r39xx_wait(void)
4040
{
4141
if (!need_resched())
4242
write_c0_conf(read_c0_conf() | TX39_CONF_HALT);
43-
local_irq_enable();
43+
raw_local_irq_enable();
4444
}
4545

4646
void __cpuidle r4k_wait(void)
4747
{
48-
local_irq_enable();
48+
raw_local_irq_enable();
4949
__r4k_wait();
5050
}
5151

@@ -64,7 +64,7 @@ void __cpuidle r4k_wait_irqoff(void)
6464
" .set arch=r4000 \n"
6565
" wait \n"
6666
" .set pop \n");
67-
local_irq_enable();
67+
raw_local_irq_enable();
6868
}
6969

7070
/*
@@ -84,7 +84,7 @@ static void __cpuidle rm7k_wait_irqoff(void)
8484
" wait \n"
8585
" mtc0 $1, $12 # stalls until W stage \n"
8686
" .set pop \n");
87-
local_irq_enable();
87+
raw_local_irq_enable();
8888
}
8989

9090
/*
@@ -257,7 +257,7 @@ void arch_cpu_idle(void)
257257
if (cpu_wait)
258258
cpu_wait();
259259
else
260-
local_irq_enable();
260+
raw_local_irq_enable();
261261
}
262262

263263
#ifdef CONFIG_CPU_IDLE

arch/nios2/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ EXPORT_SYMBOL(pm_power_off);
3333

3434
void arch_cpu_idle(void)
3535
{
36-
local_irq_enable();
36+
raw_local_irq_enable();
3737
}
3838

3939
/*

0 commit comments

Comments
 (0)