linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: john stultz <johnstul@us.ibm.com>
To: Raffaele Sandrini <rasa@gmx.ch>
Cc: lkml <linux-kernel@vger.kernel.org>, Dominik Brodowski <linux@brodo.de>
Subject: Re: System clock and speedstepping
Date: 01 Dec 2003 14:40:53 -0800	[thread overview]
Message-ID: <1070318452.23568.577.camel@cog.beaverton.ibm.com> (raw)
In-Reply-To: <200311261943.38002.rasa@gmx.ch>

On Fri, 2003-11-28 at 08:09, Raffaele Sandrini wrote:
> I'm running here a dell inspirion 5150 with a P4 with Kernel 2.6.0-t9.
> My problem is: If the laptop is running on bateries and the system is not idle 
> the system clock (i dont think the hardware clock too) runns min twice as 
> fast as it should (if not 4 times as fast as it should).

Hmmm. Can any of the cpufreq folks comment on this? I'm guessing
time_cpufreq_notifier() isn't updating fast_gettimeoffset_quotient
properly. I've never had a laptop that did cpufreq properly, so I've
never been able to test this. 

> I am able to step my CPU via the software interface CPUFREQ of the kernel (via 
> the P4 clockmod driver). After some playing around i recognized that if i set 
> the CPU freq to a very low value (e.g 100 MHZ) i get this msg on the console:
> <msg>
> Losing too many ticks!
> TSC cannot be used as a timesource. (Are you running with SpeedStep?)
> Falling back to a sane timesource.
> </msg>
> The funny thing is: After this msg the clock is running correct. I can set my 
> CPU freq to what i want and load my system as much i want with a corect 
> clock.

If the cpufreq code isn't working right, the system will seem to loose a
massive amount of timer ticks, which will be noted and we'll fall back
to using the PIT as a time source.  Although if you're seeing such heavy
skew, I'm surprised we don't trip that code earlier. 

> I don't know what "sane timesource" and "TSC" is. I also dont know where 
> exaclty the problem is. I solved for the moment with an init script which 
> checks if the laptop is running on bats and if so its stepping the system 
> down for a sec and up again to force the above error to come. I know that 
> this is a VERY dirty solution but i see know other way around this for the 
> moment :(.

The "sane timesource" is the PIT (programmable interval timer). The TSC
is the Time-Stamp-Counter which is basically a cycle counter on the cpu.
If you want to boot using the PIT instead of the TSC, you can override
the default time source by using  "clock=pit" as a boot option. However
hopefully the problem can be fixed by adjusting the cpufreq code. As I
don't have any such hardware, would you be interested in testing
possible patches?

thanks
-john



  reply	other threads:[~2003-12-01 22:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-28 16:09 System clock and speedstepping Raffaele Sandrini
2003-12-01 22:40 ` john stultz [this message]
2003-12-02 22:16   ` Raffaele Sandrini
2003-12-03  0:56     ` john stultz

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=1070318452.23568.577.camel@cog.beaverton.ibm.com \
    --to=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@brodo.de \
    --cc=rasa@gmx.ch \
    /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;
as well as URLs for NNTP newsgroup(s).