• Wayne Boyer's avatar
    [SCSI] ipr: improve interrupt service routine performance · 7dacb64f
    Wayne Boyer authored
    During performance testing on P7 machines it was observed that the interrupt
    service routine was doing unnecessary MMIO operations.
    
    This patch rearranges the logic of the routine and moves some of the code out
    of the main routine.  The result is that there are now fewer MMIO operations in
    the performance path of the code.
    
    As a result of the above change, an existing condition was exposed where the
    driver could get an "unexpected" hrrq interrupt.  The original code would flag
    the interrupt as unexpected and then reset the adapter.  After further analysis
    it was confirmed that this condition can occasionally occur and that the
    interrupt can safely be ignored.  Additional code in this patch detects this
    condition, clears the interrupt and allows the driver to continue without
    resetting the adapter.
    Signed-off-by: default avatarWayne Boyer <wayneb@linux.vnet.ibm.com>
    Acked-by: default avatarBrian King <brking@linux.vnet.ibm.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
    7dacb64f
ipr.c 255 KB