Re: [PATCH 0/9] Improve I/O priority support

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

 



On 5/27/21 1:05 AM, Wang Jianchao wrote:
> On 2021/5/27 2:25 PM, Wang Jianchao wrote:
>> On 2021/5/27 9:01 AM, Bart Van Assche wrote:
>>> A feature that is missing from the Linux kernel for storage devices that
>>> support I/O priorities is to set the I/O priority in requests involving page
>>> cache writeback. Since the identity of the process that triggers page cache
>>> writeback is not known in the writeback code, the priority set by ioprio_set()
>>> is ignored. However, an I/O cgroup is associated with writeback requests
>>> by certain filesystems. Hence this patch series that implements the following
>>> changes for the mq-deadline scheduler:
>>
>> How about implement this feature based on the rq-qos framework ?
>> Maybe it is better to make mq-deadline a pure io-scheduler.
> 
> In addition, it is more flexible to combine different io-scheduler and rq-qos policy
> if we take io priority as a new policy ;)

Hi Jianchao,

That's an interesting question. I'm in favor of flexibility. However,
I'm not sure whether it would be possible to combine an rq-qos policy
that submits high priority requests first with an I/O scheduler that
ignores I/O priorities. Since a typical I/O scheduler reorders requests,
such a combination would lead to requests being submitted in the wrong
order to storage devices. In other words, when using an I/O scheduler,
proper support for I/O priority in the I/O scheduler is essential. The
BFQ I/O scheduler is still maturing. The purpose of the Kyber I/O
scheduler is to control latency by reducing the queue depth without
differentiating between requests of the same type. The mq-deadline
scheduler is already being used in combination with storage devices that
support I/O priorities in their controller. Hence the choice for the
mq-deadline scheduler.

Thanks,

Bart.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux