[ruby-core:64757] [ruby-trunk - Bug #10202] TestBenchmark#test_realtime_output breaks on ARM

From: normalperson@...
Date: 2014-09-04 08:48:54 UTC
List: ruby-core #64757
Issue #10202 has been updated by Eric Wong.


 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

----------------------------------------
Bug #10202: TestBenchmark#test_realtime_output breaks on ARM
https://bugs.ruby-lang.org/issues/10202#change-48645

* Author: Vit Ondruch
* Status: Open
* Priority: Normal
* Assignee: Akira Tanaka
* Category: 
* Target version: 
* ruby -v: ruby 2.2.0dev (2014-09-03 trunk 47372) [armv7hl-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
I observe following error on ARM:

~~~
  3) Failure:
TestBenchmark#test_realtime_output [/builddir/build/BUILD/ruby-2.2.0-r47372/test/benchmark/test_benchmark.rb:159]:
Expected 1.0 to be < 0.999977873172611.
~~~

It seems to be introduced by r47360. Reverting the commit makes test suite to pass once again.



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next