Re: [PATCH 14/15] nvme-multipath: set QUEUE_FLAG_NOWAIT

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

 



On Thu, Apr 29, 2021 at 09:27:37AM +0200, Christoph Hellwig wrote:
> On Wed, Apr 28, 2021 at 10:32:38AM +0800, Ming Lei wrote:
> > > diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
> > > index 4e2c3a6787e9..1d17b2387884 100644
> > > --- a/drivers/nvme/host/multipath.c
> > > +++ b/drivers/nvme/host/multipath.c
> > > @@ -442,6 +442,8 @@ int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl, struct nvme_ns_head *head)
> > >  	if (!q)
> > >  		goto out;
> > >  	blk_queue_flag_set(QUEUE_FLAG_NONROT, q);
> > > +	blk_queue_flag_set(QUEUE_FLAG_NOWAIT, q);
> > 
> > BLK_MQ_F_BLOCKING is set for nvme-tcp, and the blocking may be done inside
> > nvme_ns_head_submit_bio(), is that one problem?
> 
> The point of BLK_MQ_F_BLOCKING is that ->queue_rq can block, and
> because of that it is not called from the submitting context but in
> a work queue.  nvme-tcp also sets QUEUE_FLAG_NOWAIT, just like all blk-mq
> drivers.

BLK_MQ_F_BLOCKING can be called from submitting context, see
blk_mq_try_issue_directly().



Thanks,
Ming




[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