Hey On Tue, Mar 13, 2018 at 7:11 PM, John Stultz <[email protected]> wrote: > On Mon, Mar 12, 2018 at 11:36 PM, Ingo Molnar <[email protected]> wrote: >> Ok, I have edited all the changelogs accordingly (and also flipped around the >> 'clock MONOTONIC' language to the more readable 'the MONOTONIC clock' >> variant), >> the resulting titles are (in order): >> >> 72199320d49d: timekeeping: Add the new CLOCK_MONOTONIC_ACTIVE clock >> d6ed449afdb3: timekeeping: Make the MONOTONIC clock behave like the >> BOOTTIME clock >> f2d6fdbfd238: Input: Evdev - unify MONOTONIC and BOOTTIME clock behavior >> d6c7270e913d: timekeeping: Remove boot time specific code >> 7250a4047aa6: posix-timers: Unify MONOTONIC and BOOTTIME clock behavior >> 127bfa5f4342: hrtimer: Unify MONOTONIC and BOOTTIME clock behavior >> 92af4dcb4e1c: tracing: Unify the "boot" and "mono" tracing clocks >> >> I'll push these out after testing. > > I'm still anxious about userspace effects given how much I've seen the > current behavior documented, and wouldn't pushed for this myself (I'm > a worrier), but at least I'm not seeing any failures in initial > testing w/ kselftest so far.
I get lots of timer-errors on Arch-Linux booting current master, after a suspend/resume cycle. Just a selection of errors I see on resume: systemd[1]: systemd-journald.service: Main process exited, code=dumped, status=6/ABRT rtkit-daemon[742]: The canary thread is apparently starving. Taking action. systemd[1]: systemd-udevd.service: Watchdog timeout (limit 3min)! systemd[1]: systemd-journald.service: Watchdog timeout (limit 3min)! kernel: e1000e 0000:00:1f.6: Failed to restore TIMINCA clock rate delta: -22 Lots of crashes with SIGABRT due to these. I did not bisect it, but it sounds related to me. Also, user-space uses CLOCK_MONOTONIC for watchdog timers. That is, a process is required to respond to a watchdog-request in a given MONOTONIC time-frame. If this jumps during suspend/resume, watchdogs will fire immediately. I don't see how this can work with the new MONOTONIC behavior? Thanks David

