linux-uconsole/arch/arm64/kernel
Yunfeng Ye 3bb8863b05 arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill()
[ Upstream commit bfcef4ab1d ]

In cases like suspend-to-disk and suspend-to-ram, a large number of CPU
cores need to be shut down. At present, the CPU hotplug operation is
serialised, and the CPU cores can only be shut down one by one. In this
process, if PSCI affinity_info() does not return LEVEL_OFF quickly,
cpu_psci_cpu_kill() needs to wait for 10ms. If hundreds of CPU cores
need to be shut down, it will take a long time.

Normally, there is no need to wait 10ms in cpu_psci_cpu_kill(). So
change the wait interval from 10 ms to max 1 ms and use usleep_range()
instead of msleep() for more accurate timer.

In addition, reducing the time interval will increase the messages
output, so remove the "Retry ..." message, instead, track time and
output to the the sucessful message.

Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-31 16:35:26 +01:00
..
probes arm64: debug: Ensure debug handlers check triggering exception level 2019-03-23 20:10:08 +01:00
vdso arm64: vdso: Fix clock_getres() for CLOCK_REALTIME 2019-05-31 06:46:21 -07:00
.gitignore
acpi.c acpi/arm64: ignore 5.1 FADTs that are reported as 5.0 2019-07-26 09:14:10 +02:00
acpi_numa.c arm64: numa: rework ACPI NUMA initialization 2018-07-09 18:21:40 +01:00
acpi_parking_protocol.c arm64: fix endianness annotation in acpi_parking_protocol.c 2017-06-29 11:33:15 +01:00
alternative.c arm64: alternative: Use true and false for boolean values 2018-08-08 11:20:54 +01:00
arm64ksyms.c arm64: lib: use C string functions with KASAN enabled 2019-12-01 09:17:01 +01:00
armv8_deprecated.c arm64: armv8_deprecated: Checking return value for memory allocation 2019-11-06 13:05:58 +01:00
asm-offsets.c arm64: vdso: Fix clock_getres() for CLOCK_REALTIME 2019-05-31 06:46:21 -07:00
cacheinfo.c arm64: Add support for ACPI based firmware tables 2018-05-17 17:28:09 +01:00
cpu-reset.h arm64: kexec: always reset to EL2 if present 2018-07-04 18:34:24 +01:00
cpu-reset.S arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives 2018-02-06 22:53:27 +00:00
cpu_errata.c arm64: Enable workaround for Cavium TX2 erratum 219 when running SMT 2019-10-29 09:20:01 +01:00
cpu_ops.c arm64: cpu_ops: fix a leaked reference by adding missing of_node_put 2019-05-31 06:46:27 -07:00
cpufeature.c arm64: kpti: Whitelist HiSilicon Taishan v110 CPUs 2019-11-06 13:05:34 +01:00
cpuidle.c ARM64 / cpuidle: Use new cpuidle macro for entering retention state 2018-01-02 13:50:34 +00:00
cpuinfo.c arm64: cpufeature: Detect SSBS and advertise to userspace 2019-10-11 18:21:10 +02:00
crash_core.c arm64: kernel: arch_crash_save_vmcoreinfo() should depend on CONFIG_CRASH_CORE 2018-09-11 11:08:49 +01:00
crash_dump.c arm64: kdump: provide /proc/vmcore file 2017-04-05 18:31:38 +01:00
debug-monitors.c arm64: Clear OSDLR_EL1 on CPU boot 2019-05-22 07:37:36 +02:00
efi-entry.S arm64: Add software workaround for Falkor erratum 1041 2018-02-06 22:53:13 +00:00
efi-header.S arm64: efi: split Image code and data into separate PE/COFF sections 2017-04-04 17:50:59 +01:00
efi-rt-wrapper.S efi/arm64: Check whether x18 is preserved by runtime services calls 2018-03-09 08:58:22 +01:00
efi.c efi/arm64: Check whether x18 is preserved by runtime services calls 2018-03-09 08:58:22 +01:00
entry-fpsimd.S arm64/sve: Write ZCR_EL1 on context switch only if changed 2018-05-17 18:19:53 +01:00
entry-ftrace.S arm64: ftrace: don't adjust the LR value 2019-02-12 19:47:04 +01:00
entry.S Revert "arm64: preempt: Fix big-endian when checking preempt count in assembly" 2019-12-21 10:57:20 +01:00
fpsimd.c arm64: move sve_user_{enable,disable} to <asm/fpsimd.h> 2018-07-12 14:40:39 +01:00
ftrace.c arm64: ftrace: Ensure synchronisation in PLT setup for Neoverse-N1 #1542419 2019-11-06 13:05:47 +01:00
head.S arm64: mm: Prevent mismatched 52-bit VA support 2019-12-05 09:19:59 +01:00
hibernate-asm.S arm64: assembler: Change order of macro arguments in phys_to_ttbr 2018-02-06 22:53:21 +00:00
hibernate.c arm64: hibernate: Clean the __hyp_text to PoC after resume 2019-02-06 17:30:12 +01:00
hw_breakpoint.c arm64: compat: Allow single-byte watchpoints on all addresses 2019-08-06 19:06:55 +02:00
hyp-stub.S arm64: hyp-stub: Forbid kprobing of the hyp-stub 2019-02-06 17:30:12 +01:00
image.h arm64/efi: Mark __efistub_stext_offset as an absolute symbol explicitly 2019-07-26 09:13:56 +02:00
insn.c bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd 2019-07-03 13:14:49 +02:00
io.c arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}io 2017-10-24 16:23:07 +01:00
irq.c arm64: Fix HCR.TGE status for NMI contexts 2019-03-23 20:10:08 +01:00
jump_label.c jump_label: move 'asm goto' support test to Kconfig 2019-06-04 08:02:34 +02:00
kaslr.c arm64/kernel: kaslr: reduce module randomization range to 2 GB 2019-05-31 06:46:01 -07:00
kgdb.c arm64: debug: Ensure debug handlers check triggering exception level 2019-03-23 20:10:08 +01:00
kuser32.S
machine_kexec.c arm64: kernel: arch_crash_save_vmcoreinfo() should depend on CONFIG_CRASH_CORE 2018-09-11 11:08:49 +01:00
Makefile arm64: kernel: arch_crash_save_vmcoreinfo() should depend on CONFIG_CRASH_CORE 2018-09-11 11:08:49 +01:00
module-plts.c arm64/kernel: rename module_emit_adrp_veneer->module_emit_veneer_for_adrp 2018-04-24 19:07:35 +01:00
module.c arm64: kaslr: keep modules inside module region when KASAN is enabled 2019-07-10 09:53:43 +02:00
module.lds arm64: ftrace: emit ftrace-mod.o contents through code 2017-12-01 13:04:59 +00:00
paravirt.c
pci.c PCI: Add a generic weak pcibios_align_resource() 2017-08-02 14:53:16 -05:00
perf_callchain.c arm64: unwind: remove sp from struct stackframe 2017-08-09 14:10:29 +01:00
perf_event.c arm64: perf: set suppress_bind_attrs flag to true 2019-01-26 09:32:35 +01:00
perf_regs.c compat: Move compat_timespec/ timeval to compat_time.h 2018-04-19 13:29:54 +02:00
process.c arm64/sve: Fix wrong free for task->thread.sve_state 2019-10-17 13:45:37 -07:00
psci.c arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() 2019-12-31 16:35:26 +01:00
ptrace.c arm64: fix SSBS sanitization 2019-10-11 18:21:31 +02:00
reloc_test_core.c arm64: fix undefined reference to 'printk' 2018-03-19 18:14:25 +00:00
reloc_test_syms.S arm64: fix undefined reference to 'printk' 2018-03-19 18:14:25 +00:00
relocate_kernel.S arm64: Add software workaround for Falkor erratum 1041 2018-02-06 22:53:13 +00:00
return_address.c arm64: unwind: Prohibit probing on return_address() 2019-08-25 10:47:56 +02:00
sdei.c arm64: fix wrong check of on_sdei_stack in nmi context 2019-05-08 07:21:49 +02:00
setup.c arm64: Fix /proc/iomem for reserved but not memory regions 2018-10-12 15:25:16 +01:00
signal.c arm64: use {COMPAT,}SYSCALL_DEFINE0 for sigreturn 2018-07-12 14:49:48 +01:00
signal32.c arm64: use {COMPAT,}SYSCALL_DEFINE0 for sigreturn 2018-07-12 14:49:48 +01:00
sleep.S arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives 2018-02-06 22:53:27 +00:00
smccc-call.S
smp.c arm64: smp: Handle errors reported by the firmware 2019-12-05 09:19:59 +01:00
smp_spin_table.c
ssbd.c arm64: ssbd: Add support for PSTATE.SSBS rather than trapping to EL3 2019-10-11 18:21:30 +02:00
stacktrace.c arm64: unwind: Prohibit probing on return_address() 2019-08-25 10:47:56 +02:00
suspend.c arm64: ssbd: Restore mitigation status on CPU resume 2018-05-31 17:35:19 +01:00
sys.c arm64: use the correct function type for __arm64_sys_ni_syscall 2019-06-22 08:15:20 +02:00
sys32.c arm64: use the correct function type for __arm64_sys_ni_syscall 2019-06-22 08:15:20 +02:00
sys_compat.c arm64: compat: Don't pull syscall number from regs in arm_compat_syscall 2019-01-16 22:04:37 +01:00
syscall.c arm64: errata: Add workaround for Cortex-A76 erratum #1463225 2019-05-31 06:46:03 -07:00
time.c arm64: fix unwind_frame() for filtered out fn for function graph tracing 2018-02-23 13:46:38 +00:00
topology.c arm64: topology: Use PPTT to determine if PE is a thread 2019-10-17 13:45:35 -07:00
trace-events-emulation.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
traps.c arm64: fix for bad_mode() handler to always result in panic 2019-11-20 18:46:44 +01:00
vdso.c arm64: vdso: Fix clock_getres() for CLOCK_REALTIME 2019-05-31 06:46:21 -07:00
vmlinux.lds.S arm64: relocatable: fix inconsistencies in linker script and options 2019-01-13 09:51:08 +01:00