[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAD=FV=WQZA7PGEbv_fKikGOEijP+qEEZgYXWifgjDzV6BVOUMQ@mail.gmail.com>
Date: Sun, 5 Apr 2020 09:26:39 -0700
From: Doug Anderson <dianders@...omium.org>
To: Ming Lei <ming.lei@...hat.com>
Cc: Jens Axboe <axboe@...nel.dk>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Paolo Valente <paolo.valente@...aro.org>,
Salman Qazi <sqazi@...gle.com>,
linux-block <linux-block@...r.kernel.org>,
linux-scsi@...r.kernel.org, Guenter Roeck <groeck@...omium.org>,
Ajay Joshi <ajay.joshi@....com>, Arnd Bergmann <arnd@...db.de>,
Bart Van Assche <bvanassche@....org>,
Chaitanya Kulkarni <chaitanya.kulkarni@....com>,
Damien Le Moal <damien.lemoal@....com>,
Hou Tao <houtao1@...wei.com>,
Pavel Begunkov <asml.silence@...il.com>,
Tejun Heo <tj@...nel.org>, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 2/2] blk-mq: Rerun dispatching in the case of budget contention
Hi,
On Sun, Apr 5, 2020 at 2:15 AM Ming Lei <ming.lei@...hat.com> wrote:
>
> @@ -103,6 +104,9 @@ static void blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
> rq = e->type->ops.dispatch_request(hctx);
> if (!rq) {
> blk_mq_put_dispatch_budget(hctx);
> +
> + if (e->type->ops.has_work && e->type->ops.has_work(hctx))
> + blk_mq_delay_run_hw_queue(hctx, BLK_MQ_BUDGET_DELAY);
To really close the race, don't we need to run all the queues
associated with the hctx? I haven't traced it through, but I've been
assuming that the multiple "hctx"s associated with the same queue will
have the same budget associated with them and thus they can block each
other out.
-Doug
Powered by blists - more mailing lists