svn commit: r279699 - in head/sys: amd64/amd64 i386/i386
John Baldwin
jhb at freebsd.org
Mon Mar 9 17:24:23 UTC 2015
On Saturday, March 07, 2015 12:55:06 AM Sergey Kandaurov wrote:
> On 6 March 2015 at 23:34, John Baldwin <jhb at 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?
--
John Baldwin
More information about the svn-src-head
mailing list