linux/arch
Valentin Schneider bdf4d33e83 powerpc/preempt: Don't touch the idle task's preempt_count during hotplug
commit 2c669ef697 upstream.

Powerpc currently resets a CPU's idle task preempt_count to 0 before
said task starts executing the secondary startup routine (and becomes an
idle task proper).

This conflicts with commit f1a0a376ca ("sched/core: Initialize the
idle task with preemption disabled").

which initializes all of the idle tasks' preempt_count to
PREEMPT_DISABLED during smp_init(). Note that this was superfluous
before said commit, as back then the hotplug machinery would invoke
init_idle() via idle_thread_get(), which would have already reset the
CPU's idle task's preempt_count to PREEMPT_ENABLED.

Get rid of this preempt_count write.

Fixes: f1a0a376ca ("sched/core: Initialize the idle task with preemption disabled")
Reported-by: Bharata B Rao <bharata@linux.ibm.com>
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Bharata B Rao <bharata@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210707183831.2106509-1-valentin.schneider@arm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2021-07-14 16:56:55 +02:00
..
alpha sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
arc sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
arm sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
arm64 arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART 2021-07-14 16:56:50 +02:00
c6x arch-cleanup-2020-10-22 2020-10-23 10:06:38 -07:00
csky csky: syscache: Fixup duplicate cache flush 2021-07-14 16:56:52 +02:00
h8300 h8300: fix PREEMPTION build, TI_PRE_COUNT undefined 2021-02-17 11:02:28 +01:00
hexagon Hexagon: change jumps to must-extend in futex_atomic_* 2021-07-11 12:53:31 +02:00
ia64 ia64: mca_drv: fix incorrect array size calculation 2021-07-14 16:56:02 +02:00
m68k m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning 2021-07-14 16:56:05 +02:00
microblaze local64.h: make <asm/local64.h> mandatory 2021-01-12 20:18:16 +01:00
mips MIPS: Fix PKMAP with 32-bit MIPS huge page support 2021-07-14 16:56:32 +02:00
nds32 nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff 2021-04-14 08:41:58 +02:00
nios2 nios2: fixed broken sys_clone syscall 2021-03-04 11:38:16 +01:00
openrisc sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
parisc sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
powerpc powerpc/preempt: Don't touch the idle task's preempt_count during hotplug 2021-07-14 16:56:55 +02:00
riscv sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
s390 s390: preempt: Fix preempt_count initialization 2021-07-14 16:56:54 +02:00
sh sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
sparc sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
um um: Disable CONFIG_GCOV with MODULES 2021-05-22 11:40:53 +02:00
x86 x86/sev: Split up runtime #VC handler for correct state tracking 2021-07-14 16:56:09 +02:00
xtensa sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Kconfig fanotify: Fix sys_fanotify_mark() on native x86-32 2021-01-17 14:16:59 +01:00