Skip to contentSkip to conversation

X86: Hook apic vector allocation domain only when interrupt routing are set to ignore

PATCH Superseded Oren Twaig 2 participants 3 messages Apr 23, 2014 – Apr 24, 2014 x86

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Oren Twaig

author
#0 lore raw

PATCH 1/1 X86: Hook apic vector allocation domain only when interrupt routing are set to ignore

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

---

arch/x86/kernel/vsmp_64.c +10 -1
index f6584a9..60a195d 100644
@@ -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

#1 lore raw
Quoted 3 lines · Oren Twaig

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

This changelog is too terse:

Please update the changelog to describe the current behavior, and how it affects your platform. (I.e. how do users notice, if at all?)

Then describe why you think that behavior should be changed. ie:
what's the reason for this patch.

Only then describe the details of the change itself.

arch/x86/kernel/vsmp_64.c static void vsmp_apic_post_init(void) · line 230

Quoted 4 lines
arch/x86/kernel/vsmp_64.c +3 -1
-    apic->vector_allocation_domain = fill_vector_allocation_domain;
+
+    if (!irc)
+        apic->vector_allocation_domain = fill_vector_allocation_domain;

Please also run scripts/checkpatch.pl over your patch which will report trivial coding style problems like the one here.

Thanks,

Ingo

author
#2 lore raw

Hi Ingo,

Quoted 9 lines · Ingo Molnar
Quoted 3 lines · Oren Twaig

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

This changelog is too terse:

Quoted 7 lines

Please update the changelog to describe the current behavior, and how it affects your platform. (I.e. how do users notice, if at all?)

Then describe why you think that behavior should be changed. ie:
what's the reason for this patch.

Only then describe the details of the change itself.

I will send v2 of the patch with a revised and more detailed explanation about the behavior aspect of the patch.

Quoted 8 lines

arch/x86/kernel/vsmp_64.c static void vsmp_apic_post_init(void) · line 230

Quoted 5 lines
arch/x86/kernel/vsmp_64.c +3 -1
-    apic->vector_allocation_domain = fill_vector_allocation_domain;
+
+    if (!irc)
+        apic->vector_allocation_domain = fill_vector_allocation_domain;

Please also run scripts/checkpatch.pl over your patch which will report trivial coding style problems like the one here.

Yep - did that just like the instructions on "SubmmitingPatches", unfortunately, although I've followed the Thunderbird configuration instructions with external editor, it seems to sent the the email content wrong (bad line endings as I saw now).

So sorry for the trouble, will change to a text email client and will resend the patch.

Thanks,
Oren.

Quoted 10 lines

Thanks,

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