2014-04-23 14:44:04

by Oren Twaig

[permalink] [raw]
Subject: [PATCH] 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.

Signed-off-by: Oren Twaig <[email protected]>
Acked-by: Shai Fultheim <[email protected]>
---
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


2014-04-24 06:22:23

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] X86: Hook apic vector allocation domain only when interrupt routing are set to ignore


* Oren Twaig <[email protected]> wrote:

> 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.

> - 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

2014-04-24 14:18:42

by Oren Twaig

[permalink] [raw]
Subject: Re: [PATCH] X86: Hook apic vector allocation domain only when interrupt routing are set to ignore

Hi Ingo,

On 04/24/2014 09:22 AM, Ingo Molnar wrote:
>
> * Oren Twaig <[email protected]> wrote:
>
>> 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.

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

>
>> - 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.
>
> 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/
>