Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\stop_machine.c Create Date:2022-07-28 11:21:14
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:stop_machine_cpuslocked

Proto:int stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus)

Type:int

Parameter:

TypeParameterName
cpu_stop_fn_tfn
void *data
const struct cpumask *cpus
599  struct multi_stop_data msdata = {fn = fn, data = data, Like num_online_cpus(), but hotplug cpu uses us, so we need this. = num_online_cpus(), active_cpus = cpus, }
606  lockdep_assert_cpus_held()
608  If Not stop_machine_initialized Then
617  WARN_ON_ONCE( Like num_online_cpus(), but hotplug cpu uses us, so we need this. != 1)
619  local_irq_save(flags)
620  Some architectures might implement lazy enabling/disabling of* interrupts. In some cases, such as stop_machine, we might want* to ensure that after a local_irq_disable(), interrupts have* really been disabled in hardware. Such architectures need to()
621  ret = ( * fn)(data)
622  local_irq_restore(flags)
624  Return ret
628  set_state( & msdata, MULTI_STOP_PREPARE)
629  Return stop_cpus - stop multiple cpus*@cpumask: cpus to stop*@fn: function to execute*@arg: argument to @fn* Execute @fn(@arg) on online cpus in @cpumask. On each target cpu,*@fn is run in a process context with the highest priority
Caller
NameDescribe
microcode_reload_lateReload microcode late on all CPUs. Wait for a sec until they* all gather together.
stop_machine