• Nicholas Bellinger's avatar
    target: Remove extra se_device->execute_task_lock access in fast path · 4d2300cc
    Nicholas Bellinger authored
    This patch makes __transport_execute_tasks() perform the addition of
    tasks to dev->execute_task_list via __transport_add_tasks_from_cmd()
    while holding dev->execute_task_lock during normal I/O fast path
    submission.
    
    It effectively removes the unnecessary re-acquire of dev->execute_task_lock
    during transport_execute_tasks() -> transport_add_tasks_from_cmd() ahead
    of calling  __transport_execute_tasks() to queue tasks for the passed
    *se_cmd descriptor.
    
    (v2: Re-add goto check_depth usage for multi-task submission for now..)
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Roland Dreier <roland@purestorage.com>
    Cc: Joern Engel <joern@logfs.org>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    4d2300cc
target_core_transport.c 129 KB