Re: [PATCH 089/145] iommu/vt-d: add quirk for broken interruptremapping on 55XX chipsets

From: Kamal Mostafa
Date: Thu Jul 18 2013 - 14:30:59 EST


On Thu, 2013-07-18 at 16:45 +0300, Thomas Backlund wrote:
> 18.07.2013 13:37, Neil Horman skrev:
> > On Thu, Jul 18, 2013 at 11:02:00AM +0300, Thomas Backlund wrote:
> >> 18.07.2013 01:47, Kamal Mostafa skrev:
> >>> 3.8.13.5 -stable review patch. If anyone has any objections, please let me know.
> >>>
> >>> ------------------
> >>>
> >>> From: Neil Horman <nhorman@xxxxxxxxxxxxx>
> >>>
> >>> commit 03bbcb2e7e292838bb0244f5a7816d194c911d62 upstream.
> >>>
> >>> A few years back intel published a spec update:
> >>> http://www.intel.com/content/dam/doc/specification-update/5520-and-5500-chipset-ioh-specification-update.pdf
> >>>
> >>> For the 5520 and 5500 chipsets which contained an errata (specificially errata
> >>> 53), which noted that these chipsets can't properly do interrupt remapping, and
> >>> as a result the recommend that interrupt remapping be disabled in bios. While
> >>> many vendors have a bios update to do exactly that, not all do, and of course
> >>> not all users update their bios to a level that corrects the problem. As a
> >>> result, occasionally interrupts can arrive at a cpu even after affinity for that
> >>> interrupt has be moved, leading to lost or spurrious interrupts (usually
> >>> characterized by the message:
> >>> kernel: do_IRQ: 7.71 No irq handler for vector (irq -1)
> >>>
> >>> There have been several incidents recently of people seeing this error, and
> >>> investigation has shown that they have system for which their BIOS level is such
> >>> that this feature was not properly turned off. As such, it would be good to
> >>> give them a reminder that their systems are vulnurable to this problem. For
> >>> details of those that reported the problem, please see:
> >>> https://bugzilla.redhat.com/show_bug.cgi?id=887006
> >>>
> >>> [ Joerg: Removed CONFIG_IRQ_REMAP ifdef from early-quirks.c ]
> >>>
> >>> Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx>
> >>> CC: Prarit Bhargava <prarit@xxxxxxxxxx>
> >>> CC: Don Zickus <dzickus@xxxxxxxxxx>
> >>> CC: Don Dutile <ddutile@xxxxxxxxxx>
> >>> CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> >>> CC: Asit Mallick <asit.k.mallick@xxxxxxxxx>
> >>> CC: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
> >>> CC: linux-pci@xxxxxxxxxxxxxxx
> >>> CC: Joerg Roedel <joro@xxxxxxxxxx>
> >>> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> >>> CC: Arkadiusz MiÅkiewicz <arekm@xxxxxxxx>
> >>> Signed-off-by: Joerg Roedel <joro@xxxxxxxxxx>
> >>> Signed-off-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx>
> >>> ---
> >>> arch/x86/include/asm/irq_remapping.h | 2 ++
> >>> arch/x86/kernel/early-quirks.c | 20 ++++++++++++++++++++
> >>> drivers/iommu/intel_irq_remapping.c | 10 ++++++++++
> >>> drivers/iommu/irq_remapping.c | 6 ++++++
> >>> drivers/iommu/irq_remapping.h | 2 ++
> >>> 5 files changed, 40 insertions(+)
> >>>
> >>
> >> This patch introduces this warning on 3.8 series kernels:
> >>
> >> In file included from arch/x86/kernel/early-quirks.c:21:0:
> >> /kernel/linux-3.8.13.5/arch/x86/include/asm/irq_remapping.h:46:10:
> >> varning: âstruct irq_dataâ deklarerad inuti parameterlista
> >> [aktiverat som standard]
> >> /kernel/linux-3.8.13.5/arch/x86/include/asm/irq_remapping.h:46:10:
> >> varning: dess scope-omrÃde Ãr endast denna definition eller
> >> deklaration, vilket troligen inte Ãr vad du vill. [aktiverat som
> >> standard]
> >> /kernel/linux-3.8.13.5/arch/x86/include/asm/irq_remapping.h:50:17:
> >> varning: âstruct msi_msgâ deklarerad inuti parameterlista [aktiverat
> >> som standard]
> >>
> >>
> >> You need to add this upstream fix too:
> >>
> >> commit 35d3d814cbd46a85bed97cd74ba97fbbb51e0ccd
> >> Author: Joerg Roedel <joro@xxxxxxxxxx>
> >> Date: Fri Apr 19 20:34:55 2013 +0200
> >>
> >> iommu: Fix compile warnings with forward declarations
> >>
> > I submited a 3.9 backport that included that fix to -stable over a week ago, you
> > should just be able to use that if you want.
> > Neil
>
> Almost, but not enough...
>
> The patch you refer to was:
> [3.9 stable PATCH] iommu/vt-d: add quirk for broken interrupt remapping
> on 55XX chipsets
>
> and got merged in 3.9.9.
>
> And that added a missing: "#include <linux/irq.h>" in
> arch/x86/include/asm/irq_remapping.h
>
> But using that patch it still spits out:
>
> kernel/linux-3.8.13.5/arch/x86/include/asm/irq_remapping.h:50:17:
> >> varning: âstruct msi_msgâ deklarerad inuti parameterlista [aktiverat
> >> som standard]
>
>
> which is why the additional patch is still needed...
>
> --
>
> Thomas


Ok, I have replaced the queued patch in linux-3.8.y-review[0] with
Neil's backport[1], and added Joerg's patch[2]. These are (still)
queued up for 3.8.13.5 -stable.

Thanks very much for the heads-up folks.

-Kamal

[0] http://kernel.ubuntu.com/git?p=ubuntu/linux.git;h=linux-3.8.y-review;a=shortlog
[1] http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=commitdiff;h=af4e6e26bde03f5203c9e366673623f4a3797639
[2] http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=commitdiff;h=3668f1f9e97d4ab0007f357e06fc67ce152c3998

Attachment: signature.asc
Description: This is a digitally signed message part