Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 May 2014 16:15:46 -0600
From:      Ian Lepore <ian@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        Kevin Oberman <rkoberman@gmail.com>, "freebsd-acpi@freebsd.org" <freebsd-acpi@FreeBSD.org>, "freebsd-arch@freebsd.org" <freebsd-arch@FreeBSD.org>
Subject:   Re: proposal: set default lid state to S3, performance/economy Cx states to Cmax
Message-ID:  <1399414546.22079.286.camel@revolution.hippie.lan>
In-Reply-To: <201405061637.30037.jhb@freebsd.org>
References:  <CAJ-Vmo=mUtpjgVwNHg8af05vCxVchZdsaekR9_Wf-pOfFjnABQ@mail.gmail.com> <201405051657.49992.jhb@freebsd.org> <CAJ-VmonB=2WV0Zq3SVvuxqqfi%2B=CTEy35DeF01UUzUCoNk5HWg@mail.gmail.com> <201405061637.30037.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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





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