Hello, On Thu, Mar 05, 2020 at 11:31:29AM +0100, Benjamin Berg wrote: > > In the longer term, what we wanna do is controlling at physical > > devices (sda here) and then updating dm so that it can maintain and > > propagate the ownership correctly but we aren't there yet. > > Perfect, so what I am seeing is really just a small systemd bug. Thansk > for confirming, I'll submit a patch to fix it. IO control is a bit confusing right now. Here's the breakdown. * There are four controllers - io.latency, io.cost, io.max and bfq's weight implementation. * io.latency and io.cost when combined with btrfs can control all IOs including metadata IOs and writebacks while avoiding priority inversions. * wbt may interfere with IO control. It can be disabled with "echo 0 > /sys/block/DEV/queue/wbt_lat_usec". * io.latency is useful to protect one thing against everything else but it gets tricky when multiple entities competing at different priority levels. * io.cost is what we're verifying against and deploying. While system-level configuration is a bit involved (/sys/fs/cgroup/io.cost.model and /sys/fs/cgroup/io.cost.qos). Actual cgroup configuration is really simple. Simply enabling IO controller and leaving all weights at default often can achieve most of what's needed. Thanks. -- tejun