Date: Thu, 12 Mar 2015 12:46:10 +0900 From: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <royger@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, Sergey Kandaurov <pluknet@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org> Subject: Re: svn commit: r279699 - in head/sys: amd64/amd64 i386/i386 Message-ID: <CAPLaKK6PFFxGd9OEJ24qHSxZdo=CMLXxaMabjn6-c8LGKNJFuA@mail.gmail.com> In-Reply-To: <3050157.0anzMatu84@ralph.baldwin.cx> References: <201503062034.t26KYSP2063973@svn.freebsd.org> <CAE-mSOKhuTm-cRdHOvQ4E8EE5jjfae1QMEnjh1KZQgtQRGtb4g@mail.gmail.com> <3050157.0anzMatu84@ralph.baldwin.cx>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, On Tue, Mar 10, 2015 at 12:30 AM, John Baldwin <jhb@freebsd.org> wrote: > On Saturday, March 07, 2015 12:55:06 AM Sergey Kandaurov wrote: >> On 6 March 2015 at 23:34, John Baldwin <jhb@freebsd.org> wrote: >> > Author: jhb >> > Date: Fri Mar 6 20:34:28 2015 >> > New Revision: 279699 >> > URL: https://svnweb.freebsd.org/changeset/base/279699 >> > >> > Log: >> > Only schedule interrupts on a single hyperthread of a modern Intel CPU >> > core >> > by default. Previously we used a single hyperthread on Pentium4-era >> > cores but used both hyperthreads on more recent CPUs. >> > >> > MFC after: 2 weeks >> > >> > Modified: >> > head/sys/amd64/amd64/mp_machdep.c >> > head/sys/i386/i386/mp_machdep.c >> > >> > Modified: head/sys/amd64/amd64/mp_machdep.c >> > ========================================================================== >> > ==== --- head/sys/amd64/amd64/mp_machdep.c Fri Mar 6 16:43:54 2015 >> > (r279698) +++ head/sys/amd64/amd64/mp_machdep.c Fri Mar 6 20:34:28 >> > 2015 (r279699) @@ -828,8 +828,8 @@ set_interrupt_apic_ids(void) >> > >> > continue; >> > >> > /* Don't let hyperthreads service interrupts. */ >> > >> > - if (hyperthreading_cpus > 1 && >> > - apic_id % hyperthreading_cpus != 0) >> > + if (cpu_logical > 1 && >> > + apic_id % cpu_logical != 0) >> > >> > continue; >> > >> > intr_add_cpu(i); >> > >> > Modified: head/sys/i386/i386/mp_machdep.c >> > ========================================================================== >> > ==== --- head/sys/i386/i386/mp_machdep.c Fri Mar 6 16:43:54 2015 >> > (r279698) +++ head/sys/i386/i386/mp_machdep.c Fri Mar 6 20:34:28 >> > 2015 (r279699) @@ -842,8 +842,8 @@ set_interrupt_apic_ids(void) >> > >> > continue; >> > >> > /* Don't let hyperthreads service interrupts. */ >> > >> > - if (hyperthreading_cpus > 1 && >> > - apic_id % hyperthreading_cpus != 0) >> > + if (cpu_logical > 1 && >> > + apic_id % cpu_logical != 0) >> > >> > continue; >> > >> > intr_add_cpu(i); >> >> There are another two similar cases at sys/i386/xen/mp_machdep.c >> Both look like a no-op: static global never gets written data, >> the condition is never satisfied. >> I guess these variables can be safely reduced for clarity there: >> hyperthreading_cpus, hyperthreading_cpus_mask under i386/xen. > > Yes, that file is rotted a bit. I think it is for a mode of Xen that Xen > doesn't intend to support in the future and that it will be dropped from our > tree altogether at some point? Roger probably has a better feel on this? Yes, the i386 PV port has completely bitrotted since a long time ago, and AFAIK nobody has interest in fixing it so I plan to remove it soon. Roger.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPLaKK6PFFxGd9OEJ24qHSxZdo=CMLXxaMabjn6-c8LGKNJFuA>