X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Freadahead%2Freadahead-replay.c;h=0c739c82be86d36a86b42bf0ae8a64b5c4e6ba3e;hb=17a949114db25546973989bbdcc0c71f0a5e3503;hp=00d57c3d7ab5bdf3ed78599c19f3a43db0009b8f;hpb=4cfa2c999dea269ddc646bfeba6c7f1021a73843;p=elogind.git diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c index 00d57c3d7..0c739c82b 100644 --- a/src/readahead/readahead-replay.c +++ b/src/readahead/readahead-replay.c @@ -186,7 +186,13 @@ static int replay(const char *root) { if (on_ssd) prio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0); else - prio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_RT, 7); + /* We are not using RT here, since we'd starve IO that + we didn't record (which is for example blkid, since + its disk accesses go directly to the block device and + are thus not visible in fallocate) to death. However, + we do ask for an IO prio that is slightly higher than + the default (which is BE. 4) */ + prio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, 2); if (ioprio_set(IOPRIO_WHO_PROCESS, getpid(), prio) < 0) log_warning("Failed to set IDLE IO priority class: %m");