OpenCloudOS-Kernel/arch/arm
Josh Poimboeuf 071c44e427 sched/idle: Mark arch_cpu_idle_dead() __noreturn
Before commit 076cbf5d2163 ("x86/xen: don't let xen_pv_play_dead()
return"), in Xen, when a previously offlined CPU was brought back
online, it unexpectedly resumed execution where it left off in the
middle of the idle loop.

There were some hacks to make that work, but the behavior was surprising
as do_idle() doesn't expect an offlined CPU to return from the dead (in
arch_cpu_idle_dead()).

Now that Xen has been fixed, and the arch-specific implementations of
arch_cpu_idle_dead() also don't return, give it a __noreturn attribute.

This will cause the compiler to complain if an arch-specific
implementation might return.  It also improves code generation for both
caller and callee.

Also fixes the following warning:

  vmlinux.o: warning: objtool: do_idle+0x25f: unreachable instruction

Reported-by: Paul E. McKenney <paulmck@kernel.org>
Tested-by: Paul E. McKenney <paulmck@kernel.org>
Link: https://lore.kernel.org/r/60d527353da8c99d4cf13b6473131d46719ed16d.1676358308.git.jpoimboe@kernel.org
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
2023-03-08 08:44:28 -08:00
..
boot ARM: SoC fixes for 6.3, part 1 2023-02-27 10:09:40 -08:00
common
configs ARM: defconfigs for 6.3 2023-02-20 15:43:36 -08:00
crypto This update includes the following changes: 2023-02-21 18:10:50 -08:00
include TTY/Serial driver updates for 6.3-rc1 2023-02-24 12:17:14 -08:00
kernel sched/idle: Mark arch_cpu_idle_dead() __noreturn 2023-03-08 08:44:28 -08:00
lib ARM: 9279/1: support function error injection 2022-12-07 14:08:38 +00:00
mach-actions
mach-airoha
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM updates for 6.2 2022-12-13 15:22:14 -08:00
mach-axxia
mach-bcm ARM: BCM63xx: remove useless goto statement 2023-01-10 13:46:59 -08:00
mach-berlin
mach-clps711x
mach-davinci Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
mach-digicolor
mach-dove ARM: orion: remove unused board files 2023-01-10 23:10:27 +01:00
mach-ep93xx ARM: SoC updates for 6.3 2023-02-20 15:36:37 -08:00
mach-exynos
mach-footbridge ARM: unused boardfile removal for 6.3 2023-02-20 15:28:57 -08:00
mach-gemini arch/idle: Change arch_cpu_idle() behavior: always exit with IRQs disabled 2023-01-13 11:48:15 +01:00
mach-highbank
mach-hisi
mach-hpe
mach-imx Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
mach-ixp4xx ARM: ixp4xx: Remove unused debug iomap 2022-11-23 09:29:20 +01:00
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp ARM: mmp: remove old PM support 2023-01-16 09:26:05 +01:00
mach-moxart
mach-mstar
mach-mv78xx0 ARM: orion: remove unused board files 2023-01-10 23:10:27 +01:00
mach-mvebu ARM updates for 6.2 2022-12-13 15:22:14 -08:00
mach-mxs SoC code updates for 6.2 2022-12-12 10:14:52 -08:00
mach-nomadik
mach-npcm
mach-nspire
mach-omap1 ARM: SoC updates for 6.3 2023-02-20 15:36:37 -08:00
mach-omap2 Scheduler updates in this cycle are: 2023-02-20 17:41:08 -08:00
mach-orion5x ARM: orion5x: remove dsa_chip_data references 2023-01-10 23:10:27 +01:00
mach-oxnas
mach-pxa ARM: pxa: restore mfp-pxa320.h 2023-02-08 22:10:39 +01:00
mach-qcom firmware: qcom_scm: Move qcom_scm.h to include/linux/firmware/qcom/ 2023-02-08 19:15:16 -08:00
mach-rda ARM: 9285/1: remove meaningless arch/arm/mach-rda/Makefile 2023-01-12 14:30:16 +00:00
mach-realtek
mach-rockchip
mach-rpc
mach-s3c Kbuild updates for v6.3 2023-02-26 11:53:25 -08:00
mach-s5pv210
mach-sa1100 ARM: sa1100: remove irda references 2023-01-16 09:25:48 +01:00
mach-shmobile
mach-socfpga
mach-spear ARM: spear: Do not use timer namespace for timer_shutdown() function 2022-11-24 15:09:10 +01:00
mach-sti
mach-stm32
mach-sunplus
mach-sunxi
mach-tegra power: remove pda_power supply driver 2023-02-01 17:23:38 +01:00
mach-uniphier
mach-ux500
mach-versatile
mach-vt8500
mach-zynq ARM: zynq: Fix refcount leak in zynq_early_slcr_init 2023-01-05 10:07:43 +01:00
mm IOMMU Updates for Linux v6.3: 2023-02-24 13:40:13 -08:00
net
nwfpe
plat-orion ARM: orion5x: remove dsa_chip_data references 2023-01-10 23:10:27 +01:00
probes
tools
vdso
vfp ARM: 9283/1: permit non-nested kernel mode NEON in softirq context 2023-01-11 16:21:21 +00:00
xen xen/virtio: Optimize the setup of "xen-grant-dma" devices 2022-12-05 12:59:49 +01:00
Kbuild
Kconfig ARM udpates for 6.3-rc1 2023-02-21 15:21:29 -08:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM udpates for 6.3-rc1 2023-02-21 15:21:29 -08:00
Makefile ARM udpates for 6.3-rc1 2023-02-21 15:21:29 -08:00