[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 8 Aug 2016 08:26:05 -0700
From: Bart Van Assche <bvanassche@....org>
To: Paolo <paolo.valente@...aro.org>, Jens Axboe <axboe@...nel.dk>,
Tejun Heo <tj@...nel.org>,
Christoph Hellwig <hch@...radead.org>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
Ulf Hansson <ulf.hansson@...aro.org>,
Linus Walleij <linus.walleij@...aro.org>, broonie@...nel.org
Subject: Re: [RFD] I/O scheduling in blk-mq
On 08/08/16 07:09, Paolo wrote:
> 2) To provide per-process service guarantees, an I/O scheduler must
> create per-process internal queues. BFQ and CFQ use I/O contexts to
> achieve this goal. Is something like that (or exactly the same)
> available also in blk-mq? If so, do you have any suggestion, or link to
> documentation/code on how to use what is available in blk-mq?
Hello Paolo,
I/O contexts are, by definition, data structures that are shared by
multiple I/O queues. blk-mq reaches high performance by keeping each
per-CPU queue independent. This means that using I/O contexts in a
blk-mq I/O scheduler would introduce a contention point and probably
also a performance bottleneck. So I would appreciate it if multiqueue
schedulers would avoid constructs similar to I/O contexts.
Thanks,
Bart.
Powered by blists - more mailing lists