Re: [PATCH 1/7] qla2xxx: Make qla_tgt_handle_cmd_for_atio use single queue_work

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

 



On Sun, Nov 27, 2011 at 01:06:30AM +0000, Nicholas A. Bellinger wrote:
> From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
> 
> This patch makes qla_tgt_handle_cmd_for_atio() use single queue_work
> for both session active cases.

> +	if (IS_FWI2_CAPABLE(ha))
> +		sess = ha->tgt_ops->find_sess_by_s_id(vha,
> +					atio->u.isp24.fcp_hdr.s_id);
> +	else
> +		sess = ha->tgt_ops->find_sess_by_loop_id(vha,
> +					GET_TARGET_ID(ha, atio));
> +
> +	if (unlikely(!sess)) {

> +		goto out_sched;
>  	}
>  
>  	if (sess->tearing_down || tgt->tgt_stop)
> @@ -3184,6 +3190,7 @@ static int qla_tgt_handle_cmd_for_atio(struct scsi_qla_host *vha,
>  	*/
>  	kref_get(&sess->sess_kref);
>  
> +out_sched:
>  	INIT_WORK(&cmd->work, qla_tgt_do_work);

So this still tries to grab a reference to the session from irq context
first and only delays it if the easy way to grab it fails.  I'd be much
happier if session lookup would always happen in user context, but for
now it's a step forward, so I'm okay with it.

--
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