Re: [PATCH 09/24] xfs: don't allow log IO to be throttled

Matthew Wilcox
2019-08-02T18:34:25Z

On Fri, Aug 02, 2019 at 02:11:53PM +0000, Chris Mason wrote:
> Yes and no. At some point important FS threads have the potential to
> wait on every single REQ_META IO on the box, so every single REQ_META IO
> has the potential to create priority inversions.

[...]

> Tejun reminded me that in a lot of ways, swap is user IO and it's
> actually fine to have it prioritized at the same level as user IO. We
> don't want to let a low prio app thrash the drive swapping things in and
> out all the time, and it's actually fine to make them wait as long as
> other higher priority processes aren't waiting for the memory. This
> depends on the cgroup config, so wrt your current patches it probably
> sounds crazy, but we have a lot of data around this from the fleet.

swap is only user IO if we're doing the swapping in response to an
allocation done on behalf of a user thread. If one of the above-mentioned
important FS threads does a memory allocation which causes swapping,
that priority needs to be inherited by the IO.