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

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

 



On Wed, 2021-05-26 at 18:01 -0700, Bart Van Assche wrote:
> Hi Jens,
> 
> 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. 

Hello Bart,

When I worked in this area the goal was to control tail latencies for a
prioritized app. Once the page cache is involved app control over IO is
handed off suggesting that the priorities passed down to the device
aren't as meaningful anymore. 

Is passing the priority to the device making an impact to performance
with your test case? If not, could BFQ be seen as a viable alternative.

Take care,
Adam

> 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:
> * Make the I/O priority configurable per I/O cgroup.
> * Change the I/O priority of requests to the lower of (request I/O
> priority,
>   cgroup I/O priority).
> * Introduce one queue per I/O priority in the mq-deadline scheduler.
> 
> Please consider this patch series for kernel v5.14.
> 
> Thanks,
> 
> Bart.
> 
> Bart Van Assche (9):
>   block/mq-deadline: Add several comments
>   block/mq-deadline: Add two lockdep_assert_held() statements
>   block/mq-deadline: Remove two local variables
>   block/mq-deadline: Rename dd_init_queue() and dd_exit_queue()
>   block/mq-deadline: Improve compile-time argument checking
>   block/mq-deadline: Reduce the read expiry time for non-rotational
>     media
>   block/mq-deadline: Reserve 25% of tags for synchronous requests
>   block/mq-deadline: Add I/O priority support
>   block/mq-deadline: Add cgroup support
> 
>  block/Kconfig.iosched      |   6 +
>  block/Makefile             |   1 +
>  block/mq-deadline-cgroup.c | 206 +++++++++++++++
>  block/mq-deadline-cgroup.h |  73 ++++++
>  block/mq-deadline.c        | 524 +++++++++++++++++++++++++++++------
> --
>  5 files changed, 695 insertions(+), 115 deletions(-)
>  create mode 100644 block/mq-deadline-cgroup.c
>  create mode 100644 block/mq-deadline-cgroup.h
> 





[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