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);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to