Set all inclusive vector allocation domain only if interrupt routing is set to ignore. When in comply mode, vector allocation behavior isn't changed.

Signed-off-by: Oren Twaig <o...@scalemp.com>
Acked-by: Shai Fultheim <s...@scalemp.com>
---
diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c
index f6584a9..60a195d 100644
--- a/arch/x86/kernel/vsmp_64.c
+++ b/arch/x86/kernel/vsmp_64.c
@@ -27,6 +27,9 @@
 #define TOPOLOGY_REGISTER_OFFSET 0x10

 #if defined CONFIG_PCI && defined CONFIG_PARAVIRT
+
+static int irc = 1;
+
 /*
  * Interrupt control on vSMPowered systems:
  * ~AC is a shadow of IF.  If IF is 'on' AC should be 'off'
@@ -101,6 +104,10 @@ static void __init set_vsmp_pv_ops(void)
 #ifdef CONFIG_SMP
     if (cap & ctl & BIT(8)) {
         ctl &= ~BIT(8);
+
+        /* Interrupt routing set to ignore */
+        irc = 0;
+
 #ifdef CONFIG_PROC_FS
         /* Don't let users change irq affinity via procfs */
         no_irq_affinity = 1;
@@ -218,7 +225,9 @@ static void vsmp_apic_post_init(void)
 {
     /* need to update phys_pkg_id */
     apic->phys_pkg_id = apicid_phys_pkg_id;
-    apic->vector_allocation_domain = fill_vector_allocation_domain;
+
+    if (!irc)
+        apic->vector_allocation_domain = fill_vector_allocation_domain;
 }

 void __init vsmp_init(void)


---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to