[PATCH 0/7] wchan: Fix wchan support

From: Peter Zijlstra
Date: Fri Oct 08 2021 - 07:18:59 EST


Hi,

This fixes up wchan which is various degrees of broken across the
architectures.

Patch 4 fixes wchan for x86, which has been returning 0 for the past many
releases.

Patch 5 fixes the fundamental race against scheduling.

Patch 6 deletes a lot and makes STACKTRACE unconditional

patch 7 fixes up a few STACKTRACE arch oddities

0day says all builds are good, so it must be perfect :-) I'm planning on
queueing up at least the first 5 patches, but I'm hoping the last two patches
can be too.

Also available here:

git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/wchan

---
arch/alpha/include/asm/processor.h | 2 +-
arch/alpha/kernel/process.c | 5 ++-
arch/arc/include/asm/processor.h | 2 --
arch/arc/kernel/stacktrace.c | 19 +---------
arch/arm/include/asm/processor.h | 2 --
arch/arm/kernel/process.c | 24 -------------
arch/arm64/include/asm/processor.h | 2 --
arch/arm64/kernel/process.c | 28 ---------------
arch/csky/include/asm/processor.h | 2 --
arch/csky/kernel/stacktrace.c | 26 ++++----------
arch/h8300/include/asm/processor.h | 2 +-
arch/h8300/kernel/process.c | 5 +--
arch/hexagon/include/asm/processor.h | 3 --
arch/hexagon/kernel/process.c | 28 ---------------
arch/ia64/include/asm/processor.h | 3 --
arch/ia64/kernel/process.c | 31 -----------------
arch/m68k/include/asm/processor.h | 2 +-
arch/m68k/kernel/process.c | 4 +--
arch/microblaze/include/asm/processor.h | 2 --
arch/microblaze/kernel/process.c | 6 ----
arch/mips/include/asm/processor.h | 2 --
arch/mips/kernel/process.c | 31 +----------------
arch/mips/kernel/stacktrace.c | 27 ++++++++------
arch/nds32/include/asm/processor.h | 2 --
arch/nds32/kernel/process.c | 28 ---------------
arch/nds32/kernel/stacktrace.c | 21 +++++------
arch/nios2/include/asm/processor.h | 2 +-
arch/nios2/kernel/process.c | 5 +--
arch/openrisc/include/asm/processor.h | 1 -
arch/openrisc/kernel/process.c | 6 ----
arch/parisc/include/asm/processor.h | 2 --
arch/parisc/kernel/process.c | 27 --------------
arch/powerpc/include/asm/processor.h | 2 --
arch/powerpc/kernel/process.c | 40 ---------------------
arch/riscv/include/asm/processor.h | 3 --
arch/riscv/kernel/stacktrace.c | 23 ------------
arch/s390/include/asm/processor.h | 1 -
arch/s390/kernel/process.c | 29 ---------------
arch/sh/include/asm/processor_32.h | 2 --
arch/sh/kernel/process_32.c | 22 ------------
arch/sparc/include/asm/processor_32.h | 2 +-
arch/sparc/include/asm/processor_64.h | 2 --
arch/sparc/kernel/process_32.c | 5 +--
arch/sparc/kernel/process_64.c | 31 -----------------
arch/um/include/asm/processor-generic.h | 1 -
arch/um/kernel/process.c | 35 -------------------
arch/x86/include/asm/processor.h | 2 --
arch/x86/kernel/process.c | 62 ---------------------------------
arch/xtensa/include/asm/processor.h | 2 --
arch/xtensa/kernel/process.c | 32 -----------------
fs/proc/array.c | 7 ++--
fs/proc/base.c | 19 +++++-----
include/linux/sched.h | 1 +
kernel/sched/core.c | 34 ++++++++++++++++++
lib/Kconfig.debug | 7 +---
scripts/leaking_addresses.pl | 3 +-
56 files changed, 97 insertions(+), 622 deletions(-)