proposal: set default lid state to S3, performance/economy Cx states to Cmax

Ian Lepore ian at FreeBSD.org
Tue May 6 22:15:51 UTC 2014


On Tue, 2014-05-06 at 16:37 -0400, John Baldwin wrote:
> On Tuesday, May 06, 2014 2:08:35 pm Adrian Chadd wrote:
> > On 5 May 2014 13:57, John Baldwin <jhb at freebsd.org> wrote:
> > 
> > > The user in question found this on 9-stable with the existing defaults as the
> > > HPET was just plain broken on their system and that was unrelated to Cx states.
> > > (Rather, Cx states were only involved because worries about them are why the
> > > system chose to use HPET.  Had Cx states been enabled by default, they would
> > > have had to disable those as well in addition to forcing LAPIC instead of
> > > HPET.)
> > 
> > Hm. Sounds uncomfortable. How does Windows run on systems like this?
> > Do the windows drivers just disable HPET and use LAPIC or worse for
> > timing, and just ignore anything lower than C1?
> 
> I have no idea.  Maybe they use the RTC. :-/  Maybe the HPET on these systems
> works if you use it "sparingly".  I believe OS X might have only used the HPET
> to provide the "missing" LAPIC wakeups when entering Cx for example.  (Our current
> eventtimer system wants to always use whichever timer it picks, not switch off
> between them.)
> 

The eventtimer code is happy to switch between timers on the fly, but
iirc the only interface to that feature is sysctl.  I found it fairly
easy to add an in-kernel API for changing the frequency of the current
timer on the fly.   I think it would be just as easy to add a kernel
call to change timers as well.

-- Ian




More information about the freebsd-acpi mailing list