Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Apr 2001 01:45:24 -0400
From:      parv <parv_@yahoo.com>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        Mike Smith <msmith@FreeBSD.org>, f-mobile <freebsd-mobile@FreeBSD.org>, Nate Williams <nate@yogotech.com>
Subject:   Re: observation: clock slows down when battery power gets low
Message-ID:  <20010417014524.A1023@moo.holy.cow>
In-Reply-To: <XFMail.010416174813.jhb@FreeBSD.org>
References:  <200104162003.f3GK36513708@mass.dis.org> <XFMail.010416174813.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
(i didn't get already quoted messages, so i will reply to this one,
the one i did get.)

so, John Baldwin shared this...
> 
> On 16-Apr-01 Mike Smith wrote:
> >> > just an observation... on dell i5000e, clock slowed down
> >> > by about an hour and 10 minutes.

> >> > didn't see anything else
> >> > happening. i instinctively pressed the "power" button
> >> > when "power" led was not shining. nothing bad happened (of
> >> > course, apm is disabled.).

another observation: after i went from X to console, console screen 
was flickering and there was a ghost image; reboot (after connecting 
to 110V ac, of course) fixed the both problems. also, am running
freebsd 4.3 rc (apr 9 2001 9pm edt) if that matters.
 
> >> 
> >> I think apm must be enabled for it to recognize the 'slowing' clock and
> >> deal with things correctly.
> >> 
> >> Either that or completely disable power-savings...

how does one go about /completely/ disabling power-savings besides 
not enabling apm? in any case, in bios, both "stand by" and 
"suspend" options have been "disable"d, w/ "suspend to ram" and 
"max performance" chosen for a long tiime.

> > 
> > No, just don't use the TSC.  The BIOS is winding the CPU clock back to 
> > reduce power consumption, but the TSC code has no way of knowing that 
> > this is going on.

being ignorant, how would winding back the clock (i am thinking of mechanical
wrist watch here) save power?

> > 
> > Again - do not use the TSC.  Got it yet? 8)
> 
> That would be easier if not doing so wasn't so cryptic to figure out from a
> non-kernel hacker perspective, Mike. :)
> 
> Parv,
> 
> You want to do:
> 
> sysctl -w kern.timecounter.hardware=i8254
> 
> To make it more permament and easier, you can just stick
> 
> kern.timecounter.hardware=i8254
> 
> in /etc/sysctl.conf.

well, i was not explicitly using any particular clock calibration 
and this was what i had when clock slowed down...

# dmesg | head -13

Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.3-RC #0: Thu Apr 12 01:07:27 EDT 2001
    toor@moo.holy.cow:/usr/obj/usr/src/sys/BOVINE
Calibrating clock(s) ... TSC clock: 696960489 Hz, i8254 clock: 1193165 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254"  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: Pentium III/Pentium III Xeon/Celeron (696.97-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 201326592 (196608K bytes)


# sysctl -a | grep -i timecount

kern.timecounter.method: 0
kern.timecounter.hardware: i8254


...after compiling the option CLK_USE_I8254_CALIBRATION in kernel, 
sysctl shows the same informaion as above, and dmesg shows...

Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.3-RC #5: Tue Apr 17 00:41:34 EDT 2001
    toor@moo.holy.cow:/usr/src/sys/compile/BOVINE
Calibrating clock(s) ... TSC clock: 696969498 Hz, i8254 clock: 1193180 Hz
Timecounter "i8254"  frequency 1193180 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: Pentium III/Pentium III Xeon/Celeron (696.97-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 201326592 (196608K bytes)
Physical memory chunk(s):


...am i missing something?

> We really should use hte i8254 by default on laptops.  I have acpi turned on so
> the system even knows that it has a CPU that throttles, but it still uses the
> TSC by default.  *sigh*

i suppose it was/is default, at least in my case, some how.

my, i never thought my observation would cause such a rucus! now that 
it had, thanks everybody for sharing possible reasons & solutions.

- parv

--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010417014524.A1023>