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>