Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 May 2014 12:26:34 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Kevin Oberman <rkoberman@gmail.com>, Adrian Chadd <adrian@freebsd.org>, "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:  <201405071226.34487.jhb@freebsd.org>
In-Reply-To: <1399414546.22079.286.camel@revolution.hippie.lan>
References:  <CAJ-Vmo=mUtpjgVwNHg8af05vCxVchZdsaekR9_Wf-pOfFjnABQ@mail.gmail.com> <201405061637.30037.jhb@freebsd.org> <1399414546.22079.286.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, May 06, 2014 6:15:46 pm Ian Lepore wrote:
> 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.

Ah.  Well, if it's only a small slice of time where machines need this, I'd be
fine with those machines just having to disable C1E and forcing use of LAPIC
rather than adding a lot of goop to do LAPIC + HPET and then hoping the HPET
works well enough.

-- 
John Baldwin



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