Re: support for software direct frequency throttling?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/07/2013 06:37 PM, Rafael J. Wysocki wrote:
> On Wednesday, August 07, 2013 02:38:55 PM Mark Langsdorf wrote:
>> Is there an easy way to dynamically limit the maximum or minimum
>> frequencies available to a governor? I'm trying to support frequency
>> throttling in response to a thermal event (or theoretically to allow a
>> BMC to set a minimum frequency regardless of current load).
>>
>> I looked into doing this last year and it required some QoS patches that
>> I don't think ever made it into the kernel.
>>
>> Is there a straightforward way to do this right now?
> 
> Have you looked at drivers/thermal/cpu_cooling.c ?

Yes, and I'm not sure how to use it get what I want.

I have a mailbox interrupt on my system that will trigger with a message
when the BMC monitoring the thermal sensor notices that the temperature
passes a trip point; the message will include the new maximum frequency.
I want to pass that new maximum frequency to the cpufreq governor so it
can reassess the current frequency against the maximum and lower it if
need be.

I don't know in advance what the trip points or maximum frequencies are;
the BMC managing the thermal sensor has that information but doesn't
provide it to Linux.

The most appealing solution would be to just copy
cpufreq_apply_cooling() and cpufreq_thermal_modifier() from
drivers/thermal/cpu_cooling.c in the highbank_cpufreq.c driver, as
they're the core logic of what I need. I don't know if that would be
acceptable, though. I've looked at setting up a full thermal_zone
solution, and its more than I need without actually giving me a good way
to set the frequencies when I need to.

--Mark Langsdorf
Calxeda, Inc.
--
To unsubscribe from this list: send the line "unsubscribe cpufreq" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Devel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Forum]     [Linux SCSI]

  Powered by Linux