From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: x86@kernel.org, Steven Rostedt <rostedt@goodmis.org>,
"Paul E. McKenney" <paulmck@kernel.org>
Subject: [patch 0/6] x86/idle: Cure RCU violations and cleanups
Date: Thu, 29 Feb 2024 15:23:35 +0100 (CET) [thread overview]
Message-ID: <20240229141407.283316443@linutronix.de> (raw)
Boris reported that a RCU related warning triggers in the tracer code on
AMD machines which are affected by Erratum 400. On those CPUs the local
APIC timer stops in the C1E halt state. This is handled by a special idle
function which invokes tick_broadcast_enter()/exit() around HALT. These
functions can end up in lockdep or tracing which use RCU protected data,
but the core code already set RCU to idle which means that the RCU
protection is not longer given.
This series fixes this by handling the tick broadcast conditionally in the
core idle function. While working on it I noticed a few bogosities in the
related code and cleaned that up on top.
The series is also available from git:
git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git x86/core
Thanks,
tglx
---
arch/x86/Kconfig | 1
arch/x86/include/asm/processor.h | 2
arch/x86/kernel/cpu/common.c | 4 -
arch/x86/kernel/process.c | 89 +++++++++++----------------------------
include/linux/cpu.h | 2
include/linux/tick.h | 3 +
kernel/sched/idle.c | 21 +++++++++
kernel/time/Kconfig | 5 ++
8 files changed, 62 insertions(+), 65 deletions(-)
next reply other threads:[~2024-02-29 14:23 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-29 14:23 Thomas Gleixner [this message]
2024-02-29 14:23 ` [patch 1/6] sched/idle: Conditionally handle tick broadcast in default_idle_call() Thomas Gleixner
2024-03-01 20:48 ` [tip: x86/core] " tip-bot2 for Thomas Gleixner
2024-02-29 14:23 ` [patch 2/6] x86/idle: Sanitize X86_BUG_AMD_E400 handling Thomas Gleixner
2024-03-01 12:33 ` Thomas Gleixner
2024-03-01 20:48 ` [tip: x86/core] " tip-bot2 for Thomas Gleixner
2024-03-04 16:51 ` tip-bot2 for Thomas Gleixner
2024-02-29 14:23 ` [patch 3/6] x86/idle: Clean up idle selection Thomas Gleixner
2024-03-01 20:48 ` [tip: x86/core] " tip-bot2 for Thomas Gleixner
2024-03-04 16:51 ` tip-bot2 for Thomas Gleixner
2024-02-29 14:23 ` [patch 4/6] x86/idle: Cleanup idle_setup() Thomas Gleixner
2024-03-01 20:48 ` [tip: x86/core] " tip-bot2 for Thomas Gleixner
2024-03-04 16:51 ` tip-bot2 for Thomas Gleixner
2024-02-29 14:23 ` [patch 5/6] x86/idle: Let prefer_mwait_c1_over_halt() return bool Thomas Gleixner
2024-03-01 20:48 ` [tip: x86/core] " tip-bot2 for Thomas Gleixner
2024-03-04 16:51 ` tip-bot2 for Thomas Gleixner
2024-02-29 14:23 ` [patch 6/6] x86/idle: Select idle routine only once Thomas Gleixner
2024-03-01 8:14 ` Thomas Gleixner
2024-03-01 11:33 ` Thomas Gleixner
2024-03-01 20:48 ` [tip: x86/core] " tip-bot2 for Thomas Gleixner
2024-03-04 16:51 ` tip-bot2 for Thomas Gleixner
2024-03-01 18:41 ` [patch 0/6] x86/idle: Cure RCU violations and cleanups Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240229141407.283316443@linutronix.de \
--to=tglx@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=paulmck@kernel.org \
--cc=rostedt@goodmis.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox