From 777570d4c1f582b14dda52ffc226b20fb4346940 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 3 Jun 2010 14:08:44 +0200 Subject: daemon: bump up timer slack, our timers don't need to be on time --- rtkit-daemon.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rtkit-daemon.c b/rtkit-daemon.c index 154889a..01c8bc6 100644 --- a/rtkit-daemon.c +++ b/rtkit-daemon.c @@ -2286,6 +2286,7 @@ int main(int argc, char *argv[]) { DBusConnection *bus = NULL; int ret = 1; struct rtkit_user *u; + unsigned long slack_ns; if (parse_command_line(argc, argv, &ret) <= 0) goto finish; @@ -2299,6 +2300,12 @@ int main(int argc, char *argv[]) { LOG_NDELAY|LOG_PID|(log_stderr ? LOG_PERROR : 0), LOG_DAEMON); + /* Raise our timer slack, we don't really need to be woken up + * on time. */ + slack_ns = (((unsigned long) canary_watchdog_msec - (unsigned long) canary_cheep_msec) / 2UL) * 1000000UL; + if (prctl(PR_SET_TIMERSLACK, slack_ns) < 0) + syslog(LOG_WARNING, "PRT_SET_TIMERSLACK failed: %s\n", strerror(errno)); + self_drop_realtime(our_nice_level); if (setup_dbus(&bus) < 0) -- cgit