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(-)