• Dimitri Sivanich's avatar
    x86: UV: Address interrupt/IO port operation conflict · 8191c9f6
    Dimitri Sivanich authored
    This patch for SGI UV systems addresses a problem whereby
    interrupt transactions being looped back from a local IOH,
    through the hub to a local CPU can (erroneously) conflict with
    IO port operations and other transactions.
    
    To workaound this we set a high bit in the APIC IDs used for
    interrupts. This bit appears to be ignored by the sockets, but
    it avoids the conflict in the hub.
    Signed-off-by: default avatarDimitri Sivanich <sivanich@sgi.com>
    LKML-Reference: <20101116222352.GA8155@sgi.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    ___
    
     arch/x86/include/asm/uv/uv_hub.h   |    4 ++++
     arch/x86/include/asm/uv/uv_mmrs.h  |   19 ++++++++++++++++++-
     arch/x86/kernel/apic/x2apic_uv_x.c |   25 +++++++++++++++++++++++--
     arch/x86/platform/uv/tlb_uv.c      |    2 +-
     arch/x86/platform/uv/uv_time.c     |    4 +++-
     5 files changed, 49 insertions(+), 5 deletions(-)
    8191c9f6
x2apic_uv_x.c 20.5 KB