Re: [PATCH v3 8/8] nvme: Enable pipelining of zoned writes

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

 



On 6/27/2022 8:16 PM, Keith Busch wrote:
> On Mon, Jun 27, 2022 at 04:43:35PM -0700, Bart Van Assche wrote:
>> @@ -854,6 +854,12 @@ static inline blk_status_t nvme_setup_rw(struct nvme_ns *ns,
>>   	if (req->cmd_flags & REQ_RAHEAD)
>>   		dsmgmt |= NVME_RW_DSM_FREQ_PREFETCH;
>>   
>> +	if (blk_queue_pipeline_zoned_writes(req->q) &&
>> +	    blk_rq_is_seq_zone_write(req))
>> +		nvme_req(req)->max_retries =
>> +			min(0UL + type_max(typeof(nvme_req(req)->max_retries)),
>> +			    nvme_req(req)->max_retries + req->q->nr_requests);
> 
> I can't make much sense of what the above is trying to accomplish. This
> reevaluates max_retries every time the request is retried, and the new
> max_retries is based on the previous max_retries?

I also had a hard time quickly reading the code but that maybe just me.

Perhaps a well documented comment or a helper with comment explaining 
the logic will be helpful here ?

-ck






[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux