Насколько я понимаю (читай: я прошел пять минут в дереве исходников), struct cpufreq_policy
- это состояние, управляемое управляющими и обрабатываемое драйверами масштабирования.
Содержит ограничения по частоте, в которых работает регулятор, объекты синхронизации (например, rwsem
), таблицу частот, ЦП, на которые влияет политика, и так далее.
В этом примере регулятора здесь политика используется для инициализации некоторой структуры для каждого процессора, которая, вероятно, используется драйвером масштабирования.
Обратите внимание, что эти драйверы работают в основном в два режима: target_index
, где частота задается из индекса в таблице частот (в политике) и set_policy
, где задаются пределы частоты для аппаратного обеспечения (т. е. HWP для Intel) или программного обеспечения для работы внутри.
Я не совсем понял полную картину (кажется, много работы), но я надеюсь, что этого достаточно, чтобы вы начали.