From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@bugzilla.kernel.org
Subject: [Bug 60839] scaling_max_freq cannot be set to values larger than
bios_limit
Date: Tue, 10 Sep 2013 08:28:55 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Transfer-Encoding: QUOTED-PRINTABLE
Return-path:
In-Reply-To:
Sender: cpufreq-owner@vger.kernel.org
List-ID:
Content-Type: text/plain; charset="iso-8859-1"
To: cpufreq@vger.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=3D60839
Lan Tianyu changed:
What |Removed |Added
-----------------------------------------------------------------------=
-----
Status|NEW |ASSIGNED
CC| |tianyu.lan@intel.com
--- Comment #1 from Lan Tianyu ---
(In reply to Sven K=C3=B6hler from comment #0)
> Background:
>=20
> 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 unti=
l
> bios_limit is equal to cpuinfo_max_freq. I assume, that this serves t=
he
> purpose of detecting the type of attached power supply. The BIOS temp=
orarely
> limits the CPU frequency in order to keep the power consumption low u=
ntil it
> is determined that the power supply is the correct one.
>=20
> Problem description:
>=20
> Assume that nobody is writing to scaling_max_freq and that
> scaling_max_freq=3Dcpuinfo_max_freq initially. Upon switching the pow=
er
> 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 larg=
er 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_fr=
eq
> shouldn't be set to a value larger than bios_limit.
>=20
> However, any write to scaling_max_freq through sysfs will also be cli=
pped 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.
>=20
> In my case, this was causing the following problems:
> laptop-mode-tools would write to scaling_max_freq shortly after the p=
ower
> 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 v=
alue.
> Hence, cpufreq would never raise the frequencies of my CPUs again eve=
n after
> bios_limit increased. I solved it my disabling the cpufreq related pa=
rts 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 spac=
e
configuration. If user space tool doesn't extend the scope according bi=
os limit
after plugging/unplugging AC, the scope will keep low cpufreq.
>=20
> Also note, that it isn't currently possible to determine the true val=
ue of
> scaling_max_freq as the value returned through sysfs is clipped by
> bios_limit.
--=20
You are receiving this mail because:
You are the assignee for the bug.