Hello, I came across this thread for same reason as [0]: Daemons getting killed by systemd on resume (after >WatchdogSec seconds of suspending). I'm using master branch of systemd and the kernel. As mentioned, systemd uses CLOCK_MONOTONIC, originally expecting it to not include suspend time.
Correct me if I'm mistaken, but I don't see the ambiguity of whether this patch series breaks systemd. If it's implemented correctly, you'd hope it *would* break it! As a random end user, I see three options to get suspend/resume working again on my laptop: (A) Change systemd to keep track of the difference between CLOCK_MONOTONIC and CLOCK_MONOTONIC_ACTIVE, using their difference via clock_gettime(). This seems to be what the author of this patch series intends (?). (B) Implement timerfd_*(2) for CLOCK_MONOTONIC_ACTIVE in the kernel. Do a sed s/CLOCK_MONOTONIC/&_ACTIVE in systemd source code. (C) Do a 90% reverting of this patch series. Just introduce CLOCK_MONOTONIC_ACTIVE as the "what you should use", document and publicize this fact, and sometime in the future (monotonically speaking :) finally unify CLOCK_MONOTONIC and CLOCK_BOOTTIME. Thoughts? Also, agreed, the missing break in do_clock_gettime() should be fixed, as David mentioned in [1]. Is someone already patching this? [0]: http://lkml.kernel.org/r/CANq1E4Tf27FJHTrO4ZVtWhYK=DLmwzszK=njopgxzzxqzao...@mail.gmail.com [1]: http://lkml.kernel.org/r/canq1e4qppgaau5pybgpuc00s6wgqcat70z7cntzhilc6748...@mail.gmail.com Genki