Re: [PATCH 11/24] scsi: add scsi_host_get_reserved_cmd()

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

 



On 5/29/19 10:38 AM, Hannes Reinecke wrote:
On 5/29/19 5:19 PM, Bart Van Assche wrote:
On 5/29/19 6:28 AM, Hannes Reinecke wrote:
+    rq = blk_mq_alloc_request(shost->reserved_cmd_q,
+                  REQ_OP_DRV_OUT | REQ_NOWAIT,
+                  BLK_MQ_REQ_RESERVED);

Is your purpose to avoid that blk_mq_alloc_request() waits? If so, why do you want to avoid that?

Typically these commands are intended for internal purposes, so there should always be enough commands free to allow direct allocation. If not we're in an error condition, and we need to return so as not to lock up the driver (as it might rely on this command to make forward progress).

That sounds like a risky strategy to me. blk_mq_alloc_request() can block for a number of reasons, e.g. because a request queue due to e.g. CPU hotplugging. I don't think that you want scsi_host_get_reserved_cmd() or scsi_get_reserved_cmd() to fail if a request queue is frozen.

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