svn commit: r354338 - head/sys/x86/x86
Andrew Gallatin
gallatin at FreeBSD.org
Mon Nov 4 19:30:20 UTC 2019
Author: gallatin
Date: Mon Nov 4 19:30:19 2019
New Revision: 354338
URL: https://svnweb.freebsd.org/changeset/base/354338
Log:
Add tunable to allow interrupts on hyperthreaded cores
Enabling interrupts on htt cores has benefits to workloads which are primarily
interrupt driven by increasing the logical cores available for interrupt handling.
The tunable is named machdep.hyperthreading_intr_allowed
Reviewed by: kib, jhb
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D22233
Modified:
head/sys/x86/x86/mp_x86.c
Modified: head/sys/x86/x86/mp_x86.c
==============================================================================
--- head/sys/x86/x86/mp_x86.c Mon Nov 4 18:34:29 2019 (r354337)
+++ head/sys/x86/x86/mp_x86.c Mon Nov 4 19:30:19 2019 (r354338)
@@ -144,6 +144,11 @@ static int hyperthreading_allowed = 1;
SYSCTL_INT(_machdep, OID_AUTO, hyperthreading_allowed, CTLFLAG_RDTUN,
&hyperthreading_allowed, 0, "Use Intel HTT logical CPUs");
+static int hyperthreading_intr_allowed = 0;
+SYSCTL_INT(_machdep, OID_AUTO, hyperthreading_intr_allowed, CTLFLAG_RDTUN,
+ &hyperthreading_intr_allowed, 0,
+ "Allow interrupts on HTT logical CPUs");
+
static struct topo_node topo_root;
static int pkg_id_shift;
@@ -1121,7 +1126,8 @@ set_interrupt_apic_ids(void)
continue;
/* Don't let hyperthreads service interrupts. */
- if (cpu_info[apic_id].cpu_hyperthread)
+ if (cpu_info[apic_id].cpu_hyperthread &&
+ !hyperthreading_intr_allowed)
continue;
intr_add_cpu(i);
More information about the svn-src-head
mailing list