CPPC(Collaborative Processor Performance Control)是ACPI规范中定义的一套机制,让OS根据CPU负载情况主动管理CPU的性能,OS与firmware通过共享内存机制通信,firmware收到消息后把请求性能转换为相应实际频率。其中firmware一般跑在单独的mcu。 ACPI _CPC对象方法 _CPC描述了怎么控制和监控
* use them to convert perf to freq and vice versa. The conversion is * extrapolated as an affine function passing by the 2 points: * - (Low perf, Low freq) * - (Nominal perf, Nominal perf) */ static unsigned int cppc_cpufreq_perf_to_khz(struct cppc_cpudata *cpu...
static struct cpufreq_driver cppc_cpufreq_driver;static enum { FIE_UNSET = -1, FIE_ENABLED, FIE_DISABLED } fie_disabled = FIE_UNSET;#ifdef CONFIG_ACPI_CPPC_CPUFREQ_FIE module_param(fie_disabled, int, 0444); MODULE_PARM_DESC(fie_disabled, "Disable Frequency Invariance Engin...
当不使用英特尔的 P-State 驱动时,Schedutil已经是许多Linux发行版内核上的ACPI CPUFreq的默认值,并且总体上处于良好状态。上游公司也一直在推动 AMD 接受 Schedutil,这可以追溯到他们最初在 2019 年为 Zen 2 涉足 ACPI CPPC 支持时。 AMD的Ray Huang周五在X.Org开发者大会(XDC2021)上围绕他们的工作发表了演讲。
当不使用英特尔的 P-State 驱动时,Schedutil已经是许多Linux发行版内核上的ACPI CPUFreq的默认值,并且总体上处于良好状态。上游公司也一直在推动 AMD 接受 Schedutil,这可以追溯到他们最初在 2019 年为 Zen 2 涉足 ACPI CPPC 支持时。AMD的Ray Huang周五在X.Org开发者大会(XDC2021)上围绕他们的工作发表了演讲。
@@ -158,7 +166,7 @@ static void cppc_cpufreq_cpu_fie_init(struct cpufreq_policy *policy) struct cppc_freq_invariance *cppc_fi; int cpu, ret; if (cppc_cpufreq_driver.get == hisi_cppc_cpufreq_get_rate) if (fie_disabled) return; for_each_cpu(cpu, policy->cpus) { @@ -199,7...
该驱动是由于Valve发现,目前所有运行Linux操作系统的英特尔和AMD处理器上使用的ACPI CPUFreq驱动存在问题,导致运行游戏的过程中可能会出现性能问题,这种情况让Valve担忧。Valve希望Steam Deck采用的定制版SoC,其Zen 2架构CPU与基于Linux的SteamOS能够解决这个问题。Valve就此事联系了AMD,随后AMD发现更多与旧ACPI驱动相关...
该驱动是由于Valve发现,目前所有运行Linux操作系统的英特尔和AMD处理器上使用的ACPI CPUFreq驱动存在问题,导致运行游戏的过程中可能会出现性能问题,这种情况让Valve担忧。Valve希望Steam Deck采用的定制版SoC,其Zen 2架构CPU与基于Linux的SteamOS能够解决这个问题。
#106: FILE: drivers/cpufreq/acpi-cpufreq.c:701: if (cppc_highest_perf_diff && cpumask_equal(&core_prior_mask, cpu_online_mask)) ERROR:OPEN_BRACE: that open brace { should be on the previous line #106: FILE: drivers/cpufreq/acpi-cpufreq.c:701: if (cppc_highest_perf_diff && cpu...
该驱动是由于Valve发现,目前所有运行Linux操作系统的英特尔和AMD处理器上使用的ACPI CPUFreq驱动存在问题,导致运行游戏的过程中可能会出现性能问题,这种情况让Valve担忧。Valve希望Steam Deck采用的定制版SoC,其Zen 2架构CPU与基于Linux的SteamOS能够解决这个问题。