Date: Fri, 24 Feb 2017 09:44:19 -0800 From: John Baldwin <jhb@freebsd.org> To: Jia-Shiun Li <jiashiun@gmail.com> Cc: Konstantin Belousov <kostikbel@gmail.com>, freebsd-current <freebsd-current@freebsd.org>, Konstantin Belousov <kib@freebsd.org> Subject: Re: TSC as timecounter makes system lag Message-ID: <4834290.Ch45mPOc5h@ralph.baldwin.cx> In-Reply-To: <CAHNYxxMLX8kfJAuP-ua65d3UN1DH-BOU8i1vqRUdzAOVvgaH_w@mail.gmail.com> References: <20170113120534.GC2349@kib.kiev.ua> <CAHNYxxNiCP08dQ6bTJzHuAUmqwQUQJn%2B%2BCKMsCLiHQy2PxjP5A@mail.gmail.com> <CAHNYxxMLX8kfJAuP-ua65d3UN1DH-BOU8i1vqRUdzAOVvgaH_w@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@gmail.com> wrote: > > > On Fri, Feb 24, 2017 at 7:45 PM, Konstantin Belousov <kostikbel@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4834290.Ch45mPOc5h>