OpenCloudOS-Kernel/kernel
Peter Zijlstra 73b083a196 stop_machine: Add stop_core_cpuslocked() for per-core operations
commit 2760f5a415 upstream.

Hardware core level testing features require near simultaneous execution
of WRMSR instructions on all threads of a core to initiate a test.

Provide a customized cut down version of stop_machine_cpuslocked() that
just operates on the threads of a single core.

Intel-SIG: commit 2760f5a415 stop_machine: Add stop_core_cpuslocked() for per-core operations
Backport Intel In Field Scan(IFS) single-blob image support.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20220506225410.1652287-4-tony.luck@intel.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[ Aichun Shi: amend commit log ]
Signed-off-by: Aichun Shi <aichun.shi@intel.com>
2024-06-11 21:24:32 +08:00
..
bpf ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
cgroup cgroup: Introduce ioasids controller 2024-06-11 21:14:17 +08:00
configs
debug ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
dma swiotlb: Fix the type of index 2024-06-11 21:14:08 +08:00
events perf/core: Add PERF_SAMPLE_WEIGHT_STRUCT 2024-06-11 21:18:41 +08:00
gcov ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
irq drivers/idxd: Fixup errors reported during DSA device migration 2024-06-11 21:18:02 +08:00
livepatch livepatch: Nullify obj->mod in klp_module_coming()'s error path 2019-08-19 13:03:37 +02:00
locking ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
power ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
printk printk: Prepare for nested printk_nmi_enter() 2024-06-11 21:18:17 +08:00
rcu ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
sched psi: Move PF_MEMSTALL out of task->flags 2024-06-11 21:12:37 +08:00
time clocksource: Reduce the default clocksource_watchdog() retries to 2 2024-06-11 21:17:48 +08:00
tkernel irqlatency: add irq latency monitor support 2024-06-11 21:18:47 +08:00
trace ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
.gitignore ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
Kconfig.freezer treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig.hz treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig.locks treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig.preempt sched/rt, Kconfig: Unbreak def/oldconfig with CONFIG_PREEMPT=y 2019-07-22 18:05:11 +02:00
Kconfig.tkernel irqlatency: add irq latency monitor support 2024-06-11 21:18:47 +08:00
Makefile introduction of regset ->get() wrappers, switching ELF coredumps to those 2024-06-11 21:05:54 +08:00
acct.c acct_on(): don't mess with freeze protection 2019-04-04 21:04:13 -04:00
async.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
audit.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
audit.h ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
audit_fsnotify.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
audit_tree.c fsnotify: switch send_to_group() and ->handle_event to const struct qstr * 2019-04-26 13:51:03 -04:00
audit_watch.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
auditfilter.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
auditsc.c audit: enforce op for string fields 2019-05-28 17:46:43 -04:00
backtracetest.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
bounds.c
capability.c
compat.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
configs.c kernel/configs: Replace GPL boilerplate code with SPDX identifier 2019-07-30 18:34:15 +02:00
context_tracking.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
cpu.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
cpu_pm.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
crash_core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 230 2019-06-19 17:09:06 +02:00
crash_dump.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
cred.c tkernel: add base tlinux kernel interfaces 2024-06-11 20:09:33 +08:00
delayacct.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 25 2019-05-21 11:52:39 +02:00
dma.c
exec_domain.c
exit.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
extable.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
fail_function.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
fork.c Revert "iommu/sva: Assign a PASID to mm on PASID allocation and free it on mm exit" 2024-06-11 21:14:10 +08:00
freezer.c Revert "libata, freezer: avoid block device removal while system is frozen" 2019-10-06 09:11:37 -06:00
futex.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
gen_kheaders.sh ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
groups.c
hung_task.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
iomem.c mm/nvdimm: add is_ioremap_addr and use that to check ioremap address 2019-07-12 11:05:40 -07:00
irq_work.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
jump_label.c jump_label: Don't warn on __exit jump entries 2019-08-29 15:10:10 +01:00
kallsyms.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
kcmp.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
kcov.c kcov: convert kcov.refcount to refcount_t 2019-03-07 18:32:02 -08:00
kexec.c kexec_load: Disable at runtime if the kernel is locked down 2019-08-19 21:54:15 -07:00
kexec_core.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
kexec_elf.c kexec_elf: support 32 bit ELF files 2019-09-06 23:58:44 +02:00
kexec_file.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
kexec_internal.h
kheaders.c kheaders: Move from proc to sysfs 2019-05-24 20:16:01 +02:00
kmod.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
kprobes.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
ksysfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 170 2019-05-30 11:26:39 -07:00
kthread.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
latencytop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
module-internal.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36 2019-05-24 17:27:11 +02:00
module.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
module_signature.c MODSIGN: Export module signature definitions 2019-08-05 18:39:56 -04:00
module_signing.c MODSIGN: Export module signature definitions 2019-08-05 18:39:56 -04:00
notifier.c ioasid: Reject null notifier call registration 2024-06-11 21:17:21 +08:00
nsproxy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
padata.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
panic.c locking/refcount: Remove unused 'refcount_error_report()' function 2024-06-11 21:18:08 +08:00
params.c lockdown: Lock down module params that specify hardware parameters (eg. ioport) 2019-08-19 21:54:16 -07:00
pid.c tkernel: add base tlinux kernel interfaces 2024-06-11 20:09:33 +08:00
pid_namespace.c tkernel: add base tlinux kernel interfaces 2024-06-11 20:09:33 +08:00
profile.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
ptrace.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
range.c
reboot.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
regset.c regset: new method and helpers for it 2024-06-11 21:05:54 +08:00
relay.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
resource.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
rseq.c signal: Remove task parameter from force_sig 2019-05-27 09:36:28 -05:00
seccomp.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
signal.c signal: Skip the altstack update when not needed 2024-06-11 21:12:40 +08:00
smp.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
smpboot.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
smpboot.h
softirq.c tkernel: add base tlinux kernel interfaces 2024-06-11 20:09:33 +08:00
stackleak.c
stacktrace.c stacktrace: Fix get_fs() implicit declaration 2024-06-11 21:09:49 +08:00
stop_machine.c stop_machine: Add stop_core_cpuslocked() for per-core operations 2024-06-11 21:24:32 +08:00
sys.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
sys_ni.c arch: handle arches who do not yet define clone3 2019-06-21 01:54:53 +02:00
sysctl-test.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
sysctl.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
sysctl_binary.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
task_work.c
taskstats.c tkernel: add base tlinux kernel interfaces 2024-06-11 20:09:33 +08:00
test_kprobes.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 25 2019-05-21 11:52:39 +02:00
torture.c torture: Remove exporting of internal functions 2019-08-01 14:30:22 -07:00
tracepoint.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
tsacct.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ucount.c proc/sysctl: add shared variables for range check 2019-07-18 17:08:07 -07:00
uid16.c
uid16.h
umh.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
up.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
user-return-notifier.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
user.c Keyrings namespacing 2019-07-08 19:36:47 -07:00
user_namespace.c Keyrings namespacing 2019-07-08 19:36:47 -07:00
utsname.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
utsname_sysctl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
watchdog.c tkernel: add base tlinux kernel interfaces 2024-06-11 20:09:33 +08:00
watchdog_hld.c kernel/watchdog_hld.c: hard lockup message should end with a newline 2019-04-19 09:46:05 -07:00
workqueue.c ock: sync codes to ock 5.4.119-20.0009.21 2024-06-11 20:27:38 +08:00
workqueue_internal.h sched/core, workqueues: Distangle worker accounting from rq lock 2019-04-16 16:55:15 +02:00