[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <F8CB9635A08C18indou.takao@jp.fujitsu.com>
Date: Tue, 07 Dec 2010 12:38:58 -0500
From: Takao Indoh <indou.takao@...fujitsu.com>
To: Suresh Siddha <suresh.b.siddha@...el.com>,
Bjorn Helgaas <bjorn.helgaas@...com>
Cc: "tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...hat.com" <mingo@...hat.com>,
"hpa@...or.com" <hpa@...or.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Kenji Kaneshige <kaneshige.kenji@...fujitsu.com>,
Chris Wright <chrisw@...s-sol.org>,
Max Asbock <masbock@...ux.vnet.ibm.com>,
Jesse Barnes <jbarnes@...tuousgeek.org>,
David Woodhouse <dwmw2@...radead.org>,
"stable@...nel.org" <stable@...nel.org>,
"Luck, Tony" <tony.luck@...el.com>
Subject: Re: [patch 2/4] x86, vtd: fix the vt-d fault handling irq migration in the x2apic mode
On Wed, 01 Dec 2010 09:40:32 -0800, Suresh Siddha wrote:
>On Wed, 2010-12-01 at 07:14 -0800, Bjorn Helgaas wrote:
>> On Tue, Nov 30, 2010 at 10:22:27PM -0800, Suresh Siddha wrote:
>> > + if (x2apic_mode)
>> > + msg.address_hi = MSI_ADDR_BASE_HI | MSI_ADDR_EXT_DEST_ID
>> > (dest);
>>
>> Is it necessary to test x2apic_mode here? It looks like
>> MSI_ADDR_EXT_DEST_ID() gives you everything above the low 8
>> bits of the APIC ID. If those bits are always zero except in
>> x2apic_mode, we might not need the test.
>
>True. Appended the updated patch.
I applied this patch against 2.6.36 and confirmed irq migration of
vt-d fault worked.
Tested-by: Takao Indoh <indou.takao@...fujitsu.com>
Thanks,
Takao Indoh
>
>> Does the ia64 dmar_msi_set_affinity() need the same fix?
>
>No.
>
>>
>> Why do we have both x2apic_enabled() and x2apic_mode? They
>> seem sort of redundant. (Not related to this patch, of course.)
>
>BIOS can handover to OS in x2apic mode in some cases. x2apic_enabled()
>is used to check for that and it reads the MSR to check the status. Some
>early portions of the kernel boot will use it.
>
>For all others, we should be using x2apic_mode.
>
>thanks,
>suresh
>---
>
>From: Kenji Kaneshige <kaneshige.kenji@...fujitsu.com>
>Subject: x86, vtd: fix the vt-d fault handling irq migration in the x2apic
>mode
>
>In x2apic mode, we need to set the upper address register of the fault
>handling interrupt register of the vt-d hardware. Without this
>irq migration of the vt-d fault handling interrupt is broken.
>
>Signed-off-by: Kenji Kaneshige <kaneshige.kenji@...fujitsu.com>
>Signed-off-by: Suresh Siddha <suresh.b.siddha@...el.com>
>Cc: stable@...nel.org [v2.6.32+]
>---
> arch/x86/kernel/apic/io_apic.c | 1 +
> 1 file changed, 1 insertion(+)
>
>Index: tip/arch/x86/kernel/apic/io_apic.c
>===================================================================
>--- tip.orig/arch/x86/kernel/apic/io_apic.c
>+++ tip/arch/x86/kernel/apic/io_apic.c
>@@ -3367,6 +3367,7 @@ dmar_msi_set_affinity(struct irq_data *d
> msg.data |= MSI_DATA_VECTOR(cfg->vector);
> msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> msg.address_lo |= MSI_ADDR_DEST_ID(dest);
>+ msg.address_hi = MSI_ADDR_BASE_HI | MSI_ADDR_EXT_DEST_ID(dest);
>
> dmar_msi_write(irq, &msg);
>
---
印藤隆夫(INDOH Takao)
E-Mail : indou.takao@...fujitsu.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists