# uupd stages rpm-ostree/flatpak/distrobox updates in the background, at# normal I/O priority by default -- it competes evenly with whatever's# running interactively for the same disk. On hardware where $HOME and# /var/lib/flatpak live on a spinning disk (see# docs/relocate-home-to-hdd.md), that's enough for one `flatpak update` to# stall the whole desktop for its entire run.## IOSchedulingClass=idle (what `ionice -c3` sets on a running process) makes# every I/O request uupd issues always defer to anything else wanting the# disk, and is inherited by every child it execs (rpm-ostree, flatpak,# distrobox) -- no changes needed in those tools themselves. This is the# same default policy macOS's own background daemons (softwareupdated,# backupd, mdworker) apply via setiopolicy_np(IOPOL_THROTTLE); Linux has the# equivalent mechanism, nothing in uupd opts into it by default.## Needs the bfq I/O scheduler on the relevant block device to actually be# honored -- mq-deadline/kyber/none accept the setting but mostly ignore it.[Service]IOSchedulingClass=idle