Re: [PATCH 2/2] target: Fix target_wait_for_sess_cmds breakage with active signals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/9/18 8:23 PM, Nicholas A. Bellinger wrote:
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 86c0156..fc3093d2 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -2754,7 +2754,7 @@ static void target_release_cmd_kref(struct kref *kref)
  	if (se_sess) {
  		spin_lock_irqsave(&se_sess->sess_cmd_lock, flags);
  		list_del_init(&se_cmd->se_cmd_list);
-		if (list_empty(&se_sess->sess_cmd_list))
+		if (se_sess->sess_tearing_down && list_empty(&se_sess->sess_cmd_list))
  			wake_up(&se_sess->cmd_list_wq);
  		spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags);
  	}
@@ -2907,7 +2907,7 @@ void target_wait_for_sess_cmds(struct se_session *se_sess)
spin_lock_irq(&se_sess->sess_cmd_lock);
  	do {
-		ret = wait_event_interruptible_lock_irq_timeout(
+		ret = wait_event_lock_irq_timeout(
  				se_sess->cmd_list_wq,
  				list_empty(&se_sess->sess_cmd_list),
  				se_sess->sess_cmd_lock, 180 * HZ);

Since this patch addresses two different issues (performance improvement + fix for a hang), I think it should be split in two patches.

Thanks,

Bart.





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux