diff options
Diffstat (limited to 'core/host/timer.c')
-rw-r--r-- | core/host/timer.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/core/host/timer.c b/core/host/timer.c index ff17ddf068..124f17c14f 100644 --- a/core/host/timer.c +++ b/core/host/timer.c @@ -15,14 +15,25 @@ #include "util.h" /* - * For test that need to test for longer than 10 seconds, adjust - * its time scale in test/build.mk by specifying + * For test that need to test for longer than the default time limit, + * adjust its time scale in test/build.mk by specifying * <test_name>-scale=<new scale>. */ #ifndef TEST_TIME_SCALE #define TEST_TIME_SCALE 1 #endif +/* + * To increase the stability of timing sensitive unit tests, slow + * down the time by 10x. This only affects active run time (including + * udelay() calls). To an unit test, the only effect is increased code + * execution speed. However, this comes at the cost of prolonged test + * run time for tests that use udelay(). Fortunately, most of our tests + * use usleep/msleep, and for tests that use udelay(), we can scale + * the time as mentioned above. + */ +#define TEST_TIME_SLOW_DOWN 10 + static timestamp_t boot_time; static int time_set; @@ -45,7 +56,7 @@ timestamp_t _get_time(void) timestamp_t ret; clock_gettime(CLOCK_MONOTONIC, &ts); ret.val = (1000000000 * (uint64_t)ts.tv_sec + ts.tv_nsec) * - TEST_TIME_SCALE / 1000; + TEST_TIME_SCALE / 1000 / TEST_TIME_SLOW_DOWN; return ret; } |