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