projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
eb1fbdf
)
s390/idle: mark arch_cpu_idle() noinstr
author
Heiko Carstens
<hca@linux.ibm.com>
Mon, 6 Feb 2023 13:49:40 +0000
(14:49 +0100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:50 +0000
(09:39 +0100)
[ Upstream commit
a9cbc1b471d291c865907542394f1c483b93a811
]
linux-next commit ("cpuidle: tracing: Warn about !rcu_is_watching()")
adds a new warning which hits on s390's arch_cpu_idle() function:
RCU not on for: arch_cpu_idle+0x0/0x28
WARNING: CPU: 2 PID: 0 at include/linux/trace_recursion.h:162 arch_ftrace_ops_list_func+0x24c/0x258
Modules linked in:
CPU: 2 PID: 0 Comm: swapper/2 Not tainted 6.2.0-rc6-next-
20230202
#4
Hardware name: IBM 8561 T01 703 (z/VM 7.3.0)
Krnl PSW :
0404d00180000000
00000000002b55c0
(arch_ftrace_ops_list_func+0x250/0x258)
R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 RI:0 EA:3
Krnl GPRS:
c0000000ffffbfff
0000000080000002
0000000000000026
0000000000000000
0000037ffffe3a28
0000037ffffe3a20
0000000000000000
0000000000000000
0000000000000000
0000000000f4acf6
00000000001044f0
0000037ffffe3cb0
0000000000000000
0000000000000000
00000000002b55bc
0000037ffffe3bb8
Krnl Code:
00000000002b55b0
:
c02000840051
larl %r2,
0000000001335652
00000000002b55b6
:
c0e5fff512d1
brasl %r14,
0000000000157b58
#
00000000002b55bc
:
af000000
mc 0,0
>
00000000002b55c0
:
a7f4ffe7
brc 15,
00000000002b558e
00000000002b55c4
: 0707 bcr 0,%r7
00000000002b55c6
: 0707 bcr 0,%r7
00000000002b55c8
:
eb6ff0480024
stmg %r6,%r15,72(%r15)
00000000002b55ce
:
b90400ef
lgr %r14,%r15
Call Trace:
[<
00000000002b55c0
>] arch_ftrace_ops_list_func+0x250/0x258
([<
00000000002b55bc
>] arch_ftrace_ops_list_func+0x24c/0x258)
[<
0000000000f5f0fc
>] ftrace_common+0x1c/0x20
[<
00000000001044f6
>] arch_cpu_idle+0x6/0x28
[<
0000000000f4acf6
>] default_idle_call+0x76/0x128
[<
00000000001cc374
>] do_idle+0xf4/0x1b0
[<
00000000001cc6ce
>] cpu_startup_entry+0x36/0x40
[<
0000000000119d00
>] smp_start_secondary+0x140/0x150
[<
0000000000f5d2ae
>] restart_int_handler+0x6e/0x90
Mark arch_cpu_idle() noinstr like all other architectures with
CONFIG_ARCH_WANTS_NO_INSTR (should) have it to fix this.
Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/idle.c
patch
|
blob
|
history
diff --git
a/arch/s390/kernel/idle.c
b/arch/s390/kernel/idle.c
index 4bf1ee293f2b31ee3d5ae06cbe9afd7baa6d37db..a0da049e73609fd796c5216eb3ccc59004dba5d0 100644
(file)
--- a/
arch/s390/kernel/idle.c
+++ b/
arch/s390/kernel/idle.c
@@
-44,7
+44,7
@@
void account_idle_time_irq(void)
S390_lowcore.last_update_timer = idle->timer_idle_exit;
}
-void arch_cpu_idle(void)
+void
noinstr
arch_cpu_idle(void)
{
struct s390_idle_data *idle = this_cpu_ptr(&s390_idle);
unsigned long idle_time;