Citrix

Intel 55x0 Chipset Errata - Interrupt Remapping Issue

  • CTX136517
  • Created onMar 26, 2014
  • Updated onApr 07, 2014
Article Topic Configuration

Information

This article contains information about the Intel 55x0 chipset errata - Interrupt remapping issue. Intel 5500/5520/X58 chipset revision 0x13 and 0x22 have an errata (#47 and #53) which makes the IOMMU interrupt remapping unit unreliable. This erratum causes interruptions and the interrupt remapping invalidations become unresponsive.

XenServer versions newer than XenServer 6.0 are affected because this is when the IOMMU support was enabled by default in the Xen hypervisor.

The recommended workaround of Intel for the errata is to disable the Interrupt remapping feature itself. Unfortunately, many BIOS vendors have not implemented this workaround.

This erratum has the following symptoms:

  • Intermittent host crashes, restarts, and becoming unresponsive.

  • Storage controllers reset or stop responding

  • Network Controllers reset or stop responding

Error messages are seen in logs as a side effect of the interrupt remapping issue:

  • NMI: IOCK error (debug interrupt?)

  • NMI - PCI system error (SERR)

  • BUG: soft lockup - CPU#0 stuck for 61s!

  • Rejecting I/O to offline device

  • Mailbox command timeout occurred. Issuing ISP abort

Identification

Using a Status Report

Upload status report to Auto Support – https://taas.citrix.com

On a running host through the CLI

Determine if the host has the affected chipset:
# lspci -n | grep "8086:342e (rev 13)" or lspci -n | grep "8086:342e (rev 22)"

  • If the preceding command returns no results, then the system is not affected.

  • If the preceding command returns a result, then the xen-dmesg should be examined to see if interrupt remapping is enabled using the following commands:
    # xl debug-keys V
    # xl dmesg | grep "Interrupt Remapping”

If remapping is enabled in the result, complete the workaround steps to disable the feature.

Workaround

You can either prevent the BIOS advertising the interrupt remapping feature or prevent Xen from using the feature.

Prevent the BIOS from advertising the feature

Turn off any BIOS feature mentioning Interrupt remapping or Turn off IOMMU support. This is vendor specific and might not be available in all BIOS implementations.

Prevent Xen from using the feature (Recommended solution)

  1. Add a Xen boot parameter "iommu=no-intremap" to the /boot/extlinux.conf (after the xen.gz for the active linux boot target label).

    Example of edited /boot/extlinux.conf
    label xe
    # XenServer
    kernel mboot.c32
    append /boot/xen.gz iommu=no-intremap dom0_mem=752M lowmem_emergency_pool=1M crashkernel=128M@32M console= vga=mode-0x0311 --- /boot/vmlinuz-2.6-xen root=LABEL=root-abcdef ro xencons=hvc console=hvc0 console=tty0 quiet vga=785 splash --- /boot/initrd-2.6-xen.img

  2. The following command adds it to the Xen boot parameters for you without having to manually edit the /boot/extlinux.conf file:
    /opt/xensource/libexec/xen-cmdline --set-xen iommu=no-intremap

More Information

Intel errata document - http://www.intel.co.uk/content/dam/doc/specification-update/5520-and-5500-chipset-ioh-specification-update.pdf
Wikipedia article on IOMMU - http://en.wikipedia.org/wiki/IOMMU

Disclaimer

The above mentioned sample code is provided to you as is with no representations, warranties or conditions of any kind. You may use, modify and distribute it at your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that (a) the sample code may exhibit errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the sample code fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any future versions of the sample code. In no event should the code be used to support of ultra-hazardous activities, including but not limited to life support or blasting activities. NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SAMPLE CODE, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Although the copyright in the code belongs to Citrix, any distribution of the code should include only your own standard copyright attribution, and not that of Citrix. You agree to indemnify and defend Citrix against any and all claims arising from your use, modification or distribution of the code.

Automatic translation

Important: This article was translated by an automatic translation system (also referred to as Machine Translation, or MT) and has not been translated or reviewed by people. Citrix offers a machine translated version of this article to allow for greater access to the support content. However, automatic translation is not always perfect and may contain errors of vocabulary, syntax or grammar. Citrix is not responsible for inconsistencies, errors or damage incurred as a result of the use of MT articles from our customers.Thank you.
Click here to see the English version of this article.
Languages
Was this helpful?
Thank you for your feedback

Share your comments or find out more about this topic

Citrix Forums