On 8/17/23 04:53, Bart Van Assche wrote: > Make blk_req_needs_zone_write_lock() return false if > q->limits.use_zone_write_lock is false. Inline this function because it > is short and because it is called from the hot path of the mq-deadline > I/O scheduler. Your are not actually inlining the function. Did you forget to move it to blkdev.h ? Otherwise, the change looks OK. > > Cc: Damien Le Moal <dlemoal@xxxxxxxxxx> > Cc: Christoph Hellwig <hch@xxxxxx> > Cc: Ming Lei <ming.lei@xxxxxxxxxx> > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> > --- > block/blk-zoned.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/block/blk-zoned.c b/block/blk-zoned.c > index 112620985bff..d8a80cce832f 100644 > --- a/block/blk-zoned.c > +++ b/block/blk-zoned.c > @@ -53,11 +53,16 @@ const char *blk_zone_cond_str(enum blk_zone_cond zone_cond) > EXPORT_SYMBOL_GPL(blk_zone_cond_str); > > /* > - * Return true if a request is a write requests that needs zone write locking. > + * Return true if a request is a write request that needs zone write locking. > */ > bool blk_req_needs_zone_write_lock(struct request *rq) > { > - if (!rq->q->disk->seq_zones_wlock) > + struct request_queue *q = rq->q; > + > + if (!q->limits.use_zone_write_lock) > + return false; > + > + if (!q->disk->seq_zones_wlock) > return false; > > return blk_rq_is_seq_zoned_write(rq); -- Damien Le Moal Western Digital Research