• Chris Leech's avatar
    [SCSI] fcoe: allow SCSI-FCP to be processed directly in softirq context · 859b7b64
    Chris Leech authored
    Allow FCP frames to bypass the FCoE receive processing threads and handle
    them directly in softirq context, if they are received on the correct CPU.
    This preserves the queuing to threads for scaling out receive processing
    to multiple CPUs, but allows FCoE-aware multi-queue network drivers that
    direct frames to the originating CPUs to handle FCP processing with less
    scheduling latency.
    
    Only FCP is handled directly, because libfc makes use of mutexes in ELS
    handling routines.
    
    The bulk of this change is just moving the FCoE receive processing out of
    the receive thread function, leaving behind just the thread and queue
    management.  The interesting bits are in fcoe_rcv()
    Signed-off-by: default avatarChris Leech <christopher.leech@intel.com>
    Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
    859b7b64
fcoe.c 65 KB