Re: [PATCH 04/14] bfq: use bfq_bic_lookup in bfq_limit_depth

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

 



On Mon, Nov 29, 2021 at 05:09:25PM +0100, Jan Kara wrote:
> On Fri 26-11-21 12:58:07, Christoph Hellwig wrote:
> > No need to create a new I/O context if there is none present yet in
> > ->limit_depth.
> > 
> > Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> > ---
> >  block/bfq-iosched.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
> > index c990c6409c119..ecc2e57e68630 100644
> > --- a/block/bfq-iosched.c
> > +++ b/block/bfq-iosched.c
> > @@ -663,7 +663,7 @@ static bool bfqq_request_over_limit(struct bfq_queue *bfqq, int limit)
> >  static void bfq_limit_depth(unsigned int op, struct blk_mq_alloc_data *data)
> >  {
> >  	struct bfq_data *bfqd = data->q->elevator->elevator_data;
> > -	struct bfq_io_cq *bic = icq_to_bic(blk_mq_sched_get_icq(data->q));
> > +	struct bfq_io_cq *bic = bfq_bic_lookup(data->q);
> 
> Maybe I'm missing something but bfq_limit_depth() needs to know to which
> BFQ queue (and consequently blkcg) this IO is going to be added. And to be
> able to lookup this queue we are using IO context. So AFAICT we need the
> IO context allocated already in bfq_limit_depth()?

But by allocating it you won't now anything, as it will still be empty.



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux