[Bug 60839] scaling_max_freq cannot be set to values larger than bios_limit

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=60839

Lan Tianyu <tianyu.lan@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |tianyu.lan@xxxxxxxxx

--- Comment #1 from Lan Tianyu <tianyu.lan@xxxxxxxxx> ---
(In reply to Sven Köhler from comment #0)
> Background:
> 
> On my Dell Latitude E6410, the following happens if the power supply is
> plugged in or plugged out: The value of bios_limit drops for all CPUs to
> cpuinfo_min_freq. Within seconds, it is then gradually increased until
> bios_limit is equal to cpuinfo_max_freq. I assume, that this serves the
> purpose of detecting the type of attached power supply. The BIOS temporarely
> limits the CPU frequency in order to keep the power consumption low until it
> is determined that the power supply is the correct one.
> 
> Problem description:
> 
> Assume that nobody is writing to scaling_max_freq and that
> scaling_max_freq=cpuinfo_max_freq initially. Upon switching the power
> supply,  you observe that the value of scaling_max_freq decreases and then
> gradually increases along with bios_limit. From this I conclude that
> (a) internally, the value for scaling_max_freq can assume values larger than
> bios_limit. However, when reading scaling_max_freq through sysfs the value
> is clipped by bios_limit
> (b) there is no good reason, why the internal value of scaling_max_freq
> shouldn't be set to a value larger than bios_limit.
> 
> However, any write to scaling_max_freq through sysfs will also be clipped by
> bios_limit. In result, if the value of cpuinfo_max_freq is written to
> scaling_max_freq while bios_limit is low, then the internal value of
> scaling_max_freq will be set to whatever the value of bios_limit is.
> 
> In my case, this was causing the following problems:
> laptop-mode-tools would write to scaling_max_freq shortly after the power
> supply was plugged in / unplugged. As the bios_limit would be low at that
> point, the internal value of scaling_max_freq would be set to a low value.
> Hence, cpufreq would never raise the frequencies of my CPUs again even after
> bios_limit increased. I solved it my disabling the cpufreq related parts of
> laptop-mode-tools.

Hi:
     This sounds like a user space issue. Bios limit will rise after
plugging/unplugging AC and laptop-mode-tools also should update
scaling_max_freq. Cpufreq core schedules freq scope according user space
configuration. If user space tool doesn't extend the scope according bios limit
after plugging/unplugging AC, the scope will keep low cpufreq.


> 
> Also note, that it isn't currently possible to determine the true value of
> scaling_max_freq as the value returned through sysfs is clipped by
> bios_limit.

-- 
You are receiving this mail because:
You are the assignee for the bug.--
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