Re: TSC as timecounter makes system lag

From: John Baldwin <jhb_at_freebsd.org>
Date: Fri, 24 Feb 2017 09:44:19 -0800
On Friday, February 24, 2017 10:50:19 PM Jia-Shiun Li wrote:
> On Fri, Feb 24, 2017 at 9:32 PM, Jia-Shiun Li <jiashiun_at_gmail.com> wrote:
> 
> > On Fri, Feb 24, 2017 at 7:45 PM, Konstantin Belousov <kostikbel_at_gmail.com>
> > wrote:
> >
> >> On Fri, Feb 24, 2017 at 12:15:26PM +0800, Jia-Shiun Li wrote:
> >> > Tested working on E7400 against r313909. And changing timecounter
> >> from/to
> >> > TSC
> >> > correctly enables/disables C2.
> >> >
> >> > The latter part cpu_disable_c2_sleep++ is not needed. When
> >> > init_TSC_tc() got called timecounter is not yet tsc_timecounter.
> >> > inittimecounter() later will do the work calling tc_windup().
> >> >
> >>
> >> You mean, just this
> >> -       if (cpu_deepest_sleep >= 2 && cpu_vendor_id == CPU_VENDOR_INTEL &&
> >> +       if (cpu_vendor_id == CPU_VENDOR_INTEL &&
> >> is enough to fix the issue ?  If yes, we can remove the cpu_deepest_sleep
> >> variable.  This is John' observation, I think he would prefer to prepare
> >> the patch.
> >>
> >
> > Correct. That's enough.
> >
> >
> Since that's simple enough... patch attached.
> Tested against r313909 too.

Thanks for tracking down the cause and the patch!

-- 
John Baldwin
Received on Fri Feb 24 2017 - 16:57:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:10 UTC