@RL_Dane it's actually pretty simple conceptually: monotonic time is a sum of power-on time and accumulated counter time. so to make a suspend-aware monotonic clock, just make it so that when the RTC is adjusted, we advance the power-on time by (current rtc time - last monotonic value) if that's positive. That check, just never advancing by a negative value, is all it takes to ensure that monotonic is still monotonic.
Would it be easier to just add a CLOCK_MONOTONIC_RAW that counts suspend time?
_RAW is an entirely wrong name ;) and no, if you read the links more, you'll see that I asked about which way to go, and people have agreed that we should indeed do it correctly (like OpenBSD and macOS do, making _MONOTONIC suspend-aware and relegating the suspend-unaware to _UPTIME) because the text of POSIX essentially implicitly tells you to make it suspend-aware already.