lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1219341101.9264.4.camel@localhost>
Date:	Thu, 21 Aug 2008 19:51:41 +0200
From:	Martin Filip <bugtraq@...ula.net>
To:	linux-kernel@...r.kernel.org
Subject: cpufreq regression, unable to set lower frequency

Hi LKML,

I've upgraded my kernel few days earlier and suddenly my cpufreqd
stopperd working. My configuration is this:
AC adapter connected:
  set scaling_max_freq and scaling_min_freq to maximal available
frequency
AC adapter disconnected:
  set scaling_max_freq to maximal available, scaling_min_freq to minimal
available.

When I connect AC adapter, everything works fine but when I disconnect
my adapter, everything remains on maximal frequency and in logs I can
see:

cpufreqd: cpufreqd_set_profile: Couldn't set profile "Powersave Low" set
for cpu0

After some tests I've traced problem to 

http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.25.y.git;a=commitdiff;h=53391fa20cab6df6b476a5a0ad6be653c9de0c46

What do you think? Is this condition correct?

# cd /sys/devices/system/cpu/cpu0/cpufreq/

when AC adapter is connected, something like this should happen:
# cat scaling_available_frequencies 
2167000 2000000 1833000 1667000 1500000 1333000 1000000 
# echo 2167000 > scaling_max_freq 
# echo 2167000 > scaling_min_freq 

when disconnected, something like this should:
# echo 1000000 > scaling_max_freq 
-su: echo: write error: Invalid argument
# echo 1000000 > scaling_min_freq

after min is set, max can be lowered to. Before this patch, lowering max
below min lead to lowering of min to the same value.

I think that this whole condition must not be here at all. After
removing this condition the kernel behaves like this:


# cat scaling_min_freq scaling_max_freq 
2167000
2167000
# echo 1000000 > scaling_max_freq
# cat scaling_min_freq scaling_max_freq
1000000
1000000
# echo 2167000 > scaling_min_freq
# cat scaling_min_freq scaling_max_freq
1000000
1000000
# echo 2167000 > scaling_max_freq
# echo 2167000 > scaling_min_freq
# cat scaling_min_freq scaling_max_freq
2167000
2167000


Which I think is not perfect but is better then current behavior. What
do you think?

-- 
Martin Filip <bugtraq@...ula.net>
jabber: nexus@...ula.net

Download attachment "signature.asc" of type "application/pgp-signature" (198 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ