Hi, On 06/30/22 at 11:32pm, Valentin Schneider wrote: > 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. This series looks good, has it been taken into any tree? Thanks Baoquan > > 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 >