linux/arch/arc
Vineet Gupta 3e25867ac4 ARC: stack unwinding: don't assume non-current task is sleeping
[ Upstream commit e42404fa10 ]

To start stack unwinding (SP, PC and BLINK) are needed. When the
explicit execution context (pt_regs etc) is not available, unwinder
assumes the task is sleeping (in __switch_to()) and fetches SP and BLINK
from kernel mode stack.

But this assumption is not true, specially in a SMP system, when top
runs on 1 core, there may be active running processes on all cores.

So when unwinding non courrent tasks, ensure they are NOT running.

And while at it, handle the self unwinding case explicitly.

This came out of investigation of a customer reported hang with
rcutorture+top

Link: https://github.com/foss-for-synopsys-dwc-arc-processors/linux/issues/31
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-30 11:25:38 +01:00
..
boot ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id 2020-09-17 13:45:25 +02:00
configs ARC: enable uboot support unconditionally 2019-08-06 19:06:57 +02:00
include ARC: elf: use right ELF_ARCH 2020-07-16 08:17:27 +02:00
kernel ARC: stack unwinding: don't assume non-current task is sleeping 2020-12-30 11:25:38 +01:00
lib ARCv2: lib: memcpy: fix doing prefetchw outside of buffer 2019-03-23 20:09:51 +01:00
mm ARC: IOC: panic if kernel was started with previously enabled IOC 2019-12-13 08:51:12 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
plat-axs10x ARC: [plat-axs103] refactor the quad core DT quirk code 2017-12-20 12:41:45 -08:00
plat-eznps irqchip/eznps: Fix build error for !ARC700 builds 2020-09-17 13:45:25 +02:00
plat-hsdk arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER 2020-10-29 09:55:17 +01:00
plat-sim ARC: [plat-sim] Include this platform unconditionally 2017-08-04 13:49:47 +05:30
plat-tb10x arc: select GPIOLIB directly 2016-04-26 14:07:59 +02:00
Kbuild
Kconfig ARC: enable uboot support unconditionally 2019-08-06 19:06:57 +02:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile ARC: change defconfig defaults to ARCv2 2018-12-08 12:59:10 +01:00