aperf/mperf

Andriy Gapon avg at freebsd.org
Sat Nov 20 09:54:07 UTC 2010


on 19/11/2010 21:08 Nate Lawson said the following:
> On 11/19/2010 6:39 AM, Andriy Gapon wrote:
>>
>> I am thinking about providing two APIs for this.
>>
>> 1. KPI
>> void cpu_get_a_m_perf(u_int cpu, uint64_t *aperf, uint64_t *mperf);
>>
>> 2. Userland
>> sysctl dev.cpu.N.aperf_mperf that returns two UQUAD values.
>>
>> But I am not sure where to put the code for both APIs.
>> Adding another device under cpu seems like an overkill.
> 
> These can be exported as a common interface from cpufreq
> (dev,cpu.X.perf_stats) and supplied by the child acpi_perf driver on
> each cpu.

This suggestion sounds quite appealing.
But I have some concerns.
What if hardware has the capability, but there is no cpufreq - could these MSRs
be still useful?  Or are they useful only with cpufreq?  Probably the latter...
Then, another exotic case - if a driver like est or hwpstate is attached
"directly", i.e. there is no acpi_perf/_PSS - would the MSRs be still useful?
Not sure.

-- 
Andriy Gapon


More information about the freebsd-acpi mailing list