对于运行在被拔核cpu上的stopper线程(migration)执行take_cpu_down,会先通过执行__cpu_disable将被拔核cpu设为offline,然后从CPUHP_TEARDOWN_CPU运行到CPUHP_AP_OFFLINE状态的teardown.single调用,然后调用stop_machine_park将stopper线程的flag置上KTHREAD_SHOULD_PARK,然后在hotplug线程循环函数smpboot_thread_fn中判...
Kernel版本:4.14 ARM64处理器 使用工具:Source Insight 3.5, Visio 1. 介绍 Linux CPU热插拔,支持在系统启动后,关闭任意一个secondary cpu(在ARM架构中,CPU0为boot cpu,不能被关闭),并在需要时重新打开它。 CPU-hotplug的一个用处是,支持SMP的Suspend和Resume,这个也是我看CPU-hotplug的原因。 代码路径:include/...
CPU-hotplug的一个用处是,支持SMP的Suspend和Resume,这个也是我看CPU-hotplug的原因。 代码路径: include/linux/cpuhotplug.h kernel/cpu.c kernel/smpboot.c arch/arm64/kernel/smp.c 2. 数据结构 关键的数据结构有三种,如下图所示: struct cpuhp_cpu_state:用来存储hotplug的状态; enum cpuhp_state:枚举各...
Kernel会为每个CPU都创建一个hotplug线程,执行teardown/startup回调函数; cpu_up的时候依赖底层的__cpu_up函数的实现; 3.2 cpu_down cpu_down的实际操作还是很复杂的,这种图只画了一部分,涉及到该CPU上的线程park,以及中断migrate,clockevents清除,以及通知上层等,不再深入研究了; cpu_down的时候依赖底层的__cpu...
Hotplug:类似于ondemand, 但是cpu会在关屏下尝试关掉一个cpu,并且带有deepsleep,比较省电。 在进行CPU频率优化之前,我们首先需要使用命令: lsmod | grep "acpi_cpufreq" 查看内核是否加载了acpi_cpufreq模块,如果加载了此模块,按照一般情况发行版都会将CPU默认设置为 “ondemand”模式。
整个patchset让Linux内核调度器的维护者Peter Zijlstra(同时也是ATOMIC INFRASTRUCTURE、CPU HOTPLUG、FUTEX、LKMM、MMU GATHER AND TLB INVALIDATION、Perf等的维护者)所极度反感,在patchset中直接给出了NACK:他NAK的无疑是一位大神,当我们回眸特洛伊之战中两位伟大英雄阿喀琉斯和赫克托耳的决斗时刻,最后命运的天平...
* cpu_online_mask - has bit 'cpu' set iff cpu available to scheduler * cpu_active_mask - has bit 'cpu' set iff cpu available to migration * * If !CONFIG_HOTPLUG_CPU, present == possible, and active == online. * * The cpu_possible_mask is fixed at boot time, as the set of ...
userspace:用户自定义模式,系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置 Hotplug:类似于ondemand, 但是cpu会在关屏下尝试关掉一个cpu,并且带有deep sleep,比较省电。
CPUIdle是当某个CPU上没有进程可调度的时候可以暂时局部关掉这个CPU的电源,有进程时再启用。CPU Hotplug指的是我们可以把某个CPU热移除,然后系统就不会再往这个CPU上派任务了,这个CPU就可以放心地完全关闭电源了,当把这个CPU再热插入之后,就对这个CPU恢复供电,这个CPU就可以正常执行任务了。 Runtime PM指的是设...
整个patchset让Linux内核调度器的维护者Peter Zijlstra(同时也是ATOMIC INFRASTRUCTURE、CPU HOTPLUG、FUTEX、LKMM、MMU GATHER AND TLB INVALIDATION、Perf等的维护者)所极度反感,在patchset中直接给出了NACK: 他NAK的无疑是一位大神,当我们回眸特洛伊之战中两位伟大英雄阿喀琉斯和赫克托耳的决斗时刻,最后命运的天平无...