Home
last modified time | relevance | path

Searched hist:"6 d626150d6d1c14f2f3d4f907fd0d4381f2c0d35" (Results 1 – 1 of 1) sorted by relevance

/linux/drivers/scsi/
H A Dlibiscsi.cdiff 6d626150d6d1c14f2f3d4f907fd0d4381f2c0d35 Fri Jun 17 00:45:56 CEST 2022 Mike Christie <michael.christie@oracle.com> scsi: iscsi: Try to avoid taking back_lock in xmit path

We need the back lock when freeing a task, so we hold it when calling
__iscsi_put_task() from the completion path to make it easier and to avoid
having to retake it in that path. For iscsi_put_task() we just grabbed it
while also doing the decrement on the refcount but it's only really needed
if the refcount is zero and we free the task. This modifies
iscsi_put_task() to just take the lock when needed then has the xmit path
use it. Normally we will then not take the back lock from the xmit path. It
will only be rare cases where the network is so fast that we get a response
right after we send the header/data.

Link: https://lore.kernel.org/r/20220616224557.115234-9-michael.christie@oracle.com
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>