From: Eric Wong Date: 2014-09-04T08:41:48+00:00 Subject: [ruby-core:64756] Re: [ruby-trunk - Bug #10202] TestBenchmark#test_realtime_output breaks on ARM v.ondruch@tiscali.cz wrote: > http://paste.fedoraproject.org/130884/81461414/ So I think everything looks right with FUTEX_WAIT_BITSET_PRIVATE taking > 1.0s according to strace. And your CLOCK_MONOTONIC output seems about right, but _RAW may not be... Reading more about it[1], CLOCK_MONOTONIC_RAW is probably not be the right clock to use for us since NTP corrects for _frequency_ adjustments which we're likely to want for Benchmark.realtime measurements. Furthermore, futex syscalls (for sleep duration) takes into account the NTP adjustments which CLOCK_MONOTONIC_RAW ignores. Same goes for other sleep mechanisms exposed to userspace (select/poll). I'm leaning towards ignoring the existence of CLOCK_MONOTONIC_RAW entirely. Just curious, can you show strace with Benchmark.realtime {} wrapped around sleep? Now I'm willing to bet CLOCK_MONOTONIC_RAW is off in your case. [1] this thread, where John Stultz explains how CLOCK_MONOTONIC is frequency (but not offset) corrected: https://lkml.org/lkml/2014/7/17/718