Re: [PATCH 1/4] qla2xxx_nvmet: Add files for FC-NVMe Target support

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

 



Hi James, 

> On Nov 7, 2017, at 9:05 AM, James Smart <james.smart@xxxxxxxxxxxx> wrote:
> 
> On 11/6/2017 11:55 AM, Himanshu Madhani wrote:
>> From: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx>
>> 
>> +static struct nvmet_fc_target_template qla_nvmet_fc_transport = {
>> +	.targetport_delete	= qla_nvmet_targetport_delete,
>> +	.xmt_ls_rsp		= qla_nvmet_ls_rsp,
>> +	.fcp_op			= qla_nvmet_fcp_op,
>> +	.fcp_abort		= qla_nvmet_fcp_abort,
>> +	.fcp_req_release	= qla_nvmet_fcp_req_release,
>> +	.max_hw_queues		= 8,
>> +	.max_sgl_segments	= 128,
>> +	.max_dif_sgl_segments	= 64,
>> +	.dma_boundary		= 0xFFFFFFFF,
>> +	.target_features	= NVMET_FCTGTFEAT_READDATA_RSP |
>> +					NVMET_FCTGTFEAT_CMD_IN_ISR |
>> +					NVMET_FCTGTFEAT_OPDONE_IN_ISR,
>> +	.target_priv_sz	= sizeof(struct nvme_private),
>> +};
>> +#endif
>> 
> 
> Do you really need the xxx_IN_ISR features ?  e.g. are you calling the nvmet_fc cmd receive and op done calls in ISR context or something that can't/shouldn't continue into the nvmet layers ?
> 
> I was looking to remove those flags and the work_q items behind it as I believed the qla2xxx driver called everything in a deferred callback.
> 

Agree we do nvme_fc* callbacks in deferred context, but without the xxx_IN_ISR flag during NVMe Target template registration, we were running into crash due to recursive spin_lock held as part of CTIO response in our driver.


> -- james
> 
> 

Thanks,
- Himanshu





[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