• Wunderlich, Mark's avatar
    nvmet-tcp: enable optional queue idle period tracking · d8e7b462
    Wunderlich, Mark authored
    Add 'idle_poll_period_usecs' option used by io_work() to support
    network devices enabled with advanced interrupt moderation
    supporting a relaxed interrupt model. It was discovered that
    such a NIC used on the target was unable to support initiator
    connection establishment, caused by the existing io_work()
    flow that immediately exits after a loop with no activity and
    does not re-queue itself.
    
    With this new option a queue is assigned a period of time
    that no activity must occur in order to become 'idle'.  Until
    the queue is idle the work item is requeued.
    
    The new module option is defined as changeable making it
    flexible for testing purposes.
    
    The pre-existing legacy behavior is preserved when no module option
    for idle_poll_period_usecs is specified.
    Signed-off-by: default avatarMark Wunderlich <mark.wunderlich@intel.com>
    Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    d8e7b462
tcp.c 43.5 KB