Re: [RFD] I/O scheduling in blk-mq
From: Bart Van Assche
Date: Mon Aug 08 2016 - 12:36:04 EST
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.