Re: [PATCH V2] block: Disable write plugging for zoned block devices

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

 



On Wed, Jul 10, 2019 at 09:57:05AM -0600, Jens Axboe wrote:
> On 7/10/19 9:54 AM, Damien Le Moal wrote:
> > diff --git a/block/blk-mq.h b/block/blk-mq.h
> > index 633a5a77ee8b..c9195a2cd670 100644
> > --- a/block/blk-mq.h
> > +++ b/block/blk-mq.h
> > @@ -238,4 +238,14 @@ static inline void blk_mq_clear_mq_map(struct blk_mq_queue_map *qmap)
> >   		qmap->mq_map[cpu] = 0;
> >   }
> >   
> > +static inline struct blk_plug *blk_mq_plug(struct request_queue *q,
> > +					   struct bio *bio)
> > +{
> > +	if (!blk_queue_is_zoned(q) || !op_is_write(bio_op(bio)))
> > +		return current->plug;
> > +
> > +	/* Zoned block device write case: do not plug the BIO */
> > +	return NULL;
> > +}
> > +
> >   #endif
> 
> Folks are going to look at that and be puzzled, I think that function
> deserves a comment.

Agreed.  Also I'd reformat the conditionals to make the default
case more obvious:

	if (blk_queue_is_zoned(q) && op_is_write(bio_op(bio)))
		return NULL;
	return current->plug;



[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