【问题标题】:What is the use of struct cpufreq_policy in Linux Kernel CPU Frequency SubsystemLinux内核CPU频率子系统中struct cpufreq_policy有什么用
【发布时间】:2020-07-17 02:14:12
【问题描述】:

我正在阅读有关 CPUFreq 子系统的信息。有两个驱动

  • 缩放调节器:决定下一个频率应该选择的频率
  • 缩放驱动程序:直接与硬件通信并设置缩放调节器提供的频率

通过各种结构,我明白了

struct cpufreq_driver -> 表示与硬件对话并改变频率的缩放驱动程序的结构

struct cpufreq_governor - 表示 CPU 频率调节器的结构

struct cpufreq_policy有什么用,它作为回调传递给struct cpufreq_governor的所有成员?

【问题讨论】:

    标签: linux linux-kernel x86 cpu power-management


    【解决方案1】:

    据我了解(阅读:我在源代码树中走了五分钟),struct cpufreq_policy 是由州长管理并处理给扩展驱动程序的状态。

    它包含调节器工作的频率限制、同步对象(例如rwsem)、频率表、受策略影响的 CPU 等等。

    在这个调控器 here 的示例中,该策略用于初始化一些可能由扩展驱动程序使用的 per-cpu 结构。
    请注意,这些驱动程序基本上以两种模式工作:target_index,其中频率是从频率表(在策略中)中的索引设置的,set_policy,其中为硬件设置频率限制(即英特尔的 HWP)或在其中运行的软件。

    我还没有完全掌握全貌(这似乎需要做很多工作),但我希望这足以让你开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      相关资源
      最近更新 更多