chiark / gitweb /
readahead: don't monopolize IO when replaying
authorLennart Poettering <lennart@poettering.net>
Sat, 21 Jan 2012 01:51:13 +0000 (02:51 +0100)
committerLennart Poettering <lennart@poettering.net>
Sat, 21 Jan 2012 01:51:13 +0000 (02:51 +0100)
TODO
src/readahead/readahead-replay.c

diff --git a/TODO b/TODO
index 39d445d2db7afd4dfb9ab125a4212b97adc23c8a..2c7e2b02f0b59ff2d8d7eab4efc10ffbf75fd10a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -20,6 +20,9 @@ Bugfixes:
 * properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
 
 Features:
+
+* document the exit codes when services fail before they are exec()ed
+
 * use the rtc which has: /sys/class/rtc/*/hctosys == "1" as the system RTC
 
 * rework namespace support, don't use pivot_root, and mount things after creating the namespace, not before
index 00d57c3d7ab5bdf3ed78599c19f3a43db0009b8f..0c739c82be86d36a86b42bf0ae8a64b5c4e6ba3e 100644 (file)
@@ -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");