[PATCH 0/3] qla2xxx: Push qla_tgt_cmd->se_cmd init into wq process context

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

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Hi folks,

This series converts the ATIO interrupt path to use qla_tgt_sess->sess_kref
reference in order to push the remaining qla_tgt_cmd->se_cmd init items into
qla_tgt_do_work() workqueue process context.  It also makes qla_tgt_do_work()
fast path run without having to take struct qla_hw_data->hardware_lock unless
calling the last qla_tgt_sess_put() to delete qla_tgt_sess during active I/O
shutdown.

It updates qla_tgt_do_work() to handle the case where qla_tgt_cmd may be
dispatched w/o an active qla_tgt_sess reference, and makes the active I/O
shutdown logic always run from tgt->sess_del_work context instead of
calling the last qla_tgt_sess_put() directly from qla_tgt_stop_phase1()
code.

Please have a look,

--nab

Nicholas Bellinger (3):
  qla2xxx: Add qla_tgt_sess->sess_kref for session get/put
  qla2xxx: Push remaining se_cmd init into qla_tgt_do_work
  qla2xxx: Make qla_tgt_stop_phase1 shutdown use tgt->sess_del_work

 drivers/scsi/qla2xxx/qla_target.c                 |  417 +++++++++------------
 drivers/scsi/qla2xxx/qla_target.h                 |    9 +-
 drivers/target/tcm_qla2xxx/tcm_qla2xxx_configfs.c |    1 -
 drivers/target/tcm_qla2xxx/tcm_qla2xxx_fabric.c   |   27 +-
 drivers/target/tcm_qla2xxx/tcm_qla2xxx_fabric.h   |    5 +-
 5 files changed, 185 insertions(+), 274 deletions(-)

-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux