cpufreq Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Breitner <mail@tombreit.de>
To: Dominik Brodowski <linux@dominikbrodowski.de>
Cc: cpufreq@www.linux.org.uk
Subject: Re: little system-hang when switching frequencies
Date: Wed, 09 Jun 2004 23:26:47 +0200	[thread overview]
Message-ID: <1086816407.2756.10.camel@localhost> (raw)
In-Reply-To: <20040609155946.GB9482@dominikbrodowski.de>



Am Mi, den 09.06.2004 schrieb Dominik Brodowski um 17:59: 
> Hi,
> 
> On Tue, Jun 08, 2004 at 08:00:41PM +0200, Thomas Breitner wrote:
> > using speedstep_smi, i get little "cpu-hangs" when frequency is
> > switching from a high (here: 1 ghz) to a low (here: 730 mhz) value. for
> > a trickle of a second the systems stops responding (mouse hangs etc),
> > which i noticed especially when listening to music.
> 
> This doesn't really surprise me. speedstep-smi is "1st generation
> speedstep", which was neither intended for dynamic frequency scaling nor to
> be fast. It works by telling the BIOS to change the frequency, which will
> stop all other activity on the system, then set the new frequency, and then
> return to the OS. Obviously, this is much slower than a write to a processor
> MSR, such as the new "Centrino" Pentium-M processors do.
> 
> > this does not occur when switching from low to high frequency.
> 
> In some cases, the BIOS returns an error. Then, empirical testing has shown,
> delaying for some time and re-trying helps: in the first re-try, the system
> is stopped for 50 ms, in the second re-try, it's 100 ms, and the third 150
> ms, fourth 200 ms, fifth 250 ms -- so it may take up to 750 ms plus the time
> the BIOS takes until the system becomes responsive again. To determine
> whether this is the case on your system, uncomment the line
> //#define SPEEDSTEP_DEBUG
> in arch/i386/kernel/cpu/cpufreq/speedstep-smi.c
> use your system as usual, and check whether there are messages like
> cpufreq: retry 1, previous result 1
> in the kernel log

yes, you're right, enabling debuging of speedstep-smi gave me:

---
theoschlepp:/home/theo# tail -f /var/log/kern.log
Jun  9 21:31:40 localhost kernel: cpufreq: retry 4, previous result 0
Jun  9 21:31:40 localhost kernel: cpufreq: retry 5, previous result 0
Jun  9 21:31:40 localhost kernel: cpufreq: change to 731 MHz succeeded
after 6 tries with result 0
Jun  9 21:31:55 localhost kernel: cpufreq: change to 997 MHz succeeded
after 1 tries with result 0
Jun  9 21:32:01 localhost kernel: cpufreq: retry 1, previous result 0
Jun  9 21:32:01 localhost kernel: cpufreq: retry 2, previous result 0
Jun  9 21:32:01 localhost kernel: cpufreq: retry 3, previous result 0
Jun  9 21:32:01 localhost kernel: cpufreq: retry 4, previous result 0
Jun  9 21:32:01 localhost kernel: cpufreq: retry 5, previous result 0
Jun  9 21:32:01 localhost kernel: cpufreq: change to 731 MHz succeeded
after 6 tries with result 0
Jun  9 21:34:01 localhost kernel: cpufreq: change to 997 MHz succeeded
after 1 tries with result 0
Jun  9 21:34:17 localhost kernel: cpufreq: retry 1, previous result 0
Jun  9 21:34:17 localhost kernel: cpufreq: retry 2, previous result 0
Jun  9 21:34:17 localhost kernel: cpufreq: retry 3, previous result 0
Jun  9 21:34:17 localhost kernel: cpufreq: retry 4, previous result 0
Jun  9 21:34:17 localhost kernel: cpufreq: retry 5, previous result 0
Jun  9 21:34:17 localhost kernel: cpufreq: change to 731 MHz succeeded
after 6 tries with result 0
---

i don't understand the meaning of result "0", but it seems that the
system needs *only* one - the first - try to switch from low to high
frequency - but it needs always 6 retries to switch back.
ok, this part is *fixed*, i should buy a new laptop...

> > sorry, i'm not sure if this belongs to the kernel-related 
> > cpu-frequency-scaling-drivers...
> 
> It does -- though cpufreqd might consider not to load on speedstep-smi
> driven systems.
> 
> > especially, because the speedstep_ich-module *should* be right for my 
> > chipset:
> >  >theo@theoschlepp:~$ lspci
> >  >0000:00:00.0 Host bridge: Intel Corp. 82815 815 Chipset 
> >  >Host Bridge and Memory Controller Hub (rev 04)
> 
> Currently, everything which is revision 4 or lower is not handled by
> speedstep-ich because:
> 
>                 /* speedstep.c causes lockups on Dell Inspirons 8000 and
>                  * 8100 which use a pretty old revision of the 82815
>                  * host brige. Abort on these systems.
>                  */
> 
> If you want to try it out on your system, change the line
>                 if (rev < 5) {
> in arch/i386/kernel/cpu/cpufreq/speedstep-ich.c to
> 		if (rev < 4) {
> re-compile, and test -- but be advised that this might cause lockups!
> 
> If it works on your system, then I'll submit a patch which will check for
> Dell Inspiron 8x00 and only disallow speedstep-ich for them, not for the
> notebook you're using.
> 

the same here: i followed your advise, but seemingly trust too much in
my laptop (well, it is in fact an inspiron 8100...):
changed (rev < 5) in (rev < 4) and ended up immediatly after loading
speedstep-ich in a lockup (if thats the technical word for a completly
non-respondent system).
but: switching frequencies under the preinstalled win xp works "in both
directions". how is this possible when it's the bios which is causing
the "little system hang"?

thank you very much,
i will forward this story to the associated debian-cpufreqd-bug,
thomas



> 	Dominik
> 
> _______________________________________________
> Cpufreq mailing list
> Cpufreq@www.linux.org.uk
> http://www.linux.org.uk/mailman/listinfo/cpufreq

-- 
______________________________________
thomas breitner

www.tombreit.de   |   mail@tombreit.de

  reply	other threads:[~2004-06-09 21:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-08 18:00 little system-hang when switching frequencies Thomas Breitner
2004-06-09 15:59 ` Dominik Brodowski
2004-06-09 21:26   ` Thomas Breitner [this message]
2004-06-10  8:13     ` Dominik Brodowski
2004-06-10 16:58       ` Thomas Breitner
2004-06-10  9:08     ` Bruno Ducrot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1086816407.2756.10.camel@localhost \
    --to=mail@tombreit.de \
    --cc=cpufreq@www.linux.org.uk \
    --cc=linux@dominikbrodowski.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox