[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220630223258.4144112-1-vschneid@redhat.com>
Date: Thu, 30 Jun 2022 23:32:56 +0100
From: Valentin Schneider <vschneid@...hat.com>
To: kexec@...ts.infradead.org, linux-rt-users@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Eric Biederman <ebiederm@...ssion.com>,
Arnd Bergmann <arnd@...db.de>, Petr Mladek <pmladek@...e.com>,
Miaohe Lin <linmiaohe@...wei.com>,
Thomas Gleixner <tglx@...utronix.de>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Juri Lelli <jlelli@...hat.com>,
"Luis Claudio R. Goncalves" <lgoncalv@...hat.com>
Subject: [PATCH v4 0/2] kexec, panic: Making crash_kexec() NMI safe
Hi folks,
Here's ~v3~ v4 where we now completely get rid of kexec_mutex.
o Patch 1 makes sure all kexec_mutex acquisitions are trylocks. This prevents
having to add any while(atomic_cmpxchg()) loops which I'd really hate to see
here. If that can't be done then I think we're better off with the combined
mutex+atomic var approach.
o Patch 2 does the mutex -> atomic var switch.
Revisions
=========
v3 -> v4
++++++++
o Someone forgot to Cc LKML on v3...
v2 -> v3
++++++++
o Dropped kexec_mutex entirely and made the atomic variable the one true lock
for kexec (Eric)
v1 -> v2
++++++++
o Changed from Peterson-like synchronization to simpler atomic_cmpxchg
(Petr)
o Slightly reworded changelog
o Added Fixes: tag. Technically should be up to since kexec can happen
in an NMI, but that isn't such a clear target
Cheers,
Valentin
Valentin Schneider (2):
kexec: Turn all kexec_mutex acquisitions into trylocks
panic, kexec: Make __crash_kexec() NMI safe
include/linux/kexec.h | 2 +-
kernel/kexec.c | 11 ++++-------
kernel/kexec_core.c | 28 ++++++++++++++++------------
kernel/kexec_file.c | 4 ++--
kernel/kexec_internal.h | 15 ++++++++++++++-
kernel/ksysfs.c | 7 ++++++-
6 files changed, 43 insertions(+), 24 deletions(-)
--
2.31.1
Powered by blists - more mailing lists