From: Wei-cheng Wang Date: Thu, 20 Aug 2015 17:32:18 +0000 (+0800) Subject: Determine the iteration count based on wallclock instead of user+system time. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fbb7bcbeaad3aebab8935cb4ee5706017b3b9e71;p=binutils-gdb.git Determine the iteration count based on wallclock instead of user+system time. gdb/testsuite/ChangeLog: 2016-02-18 Wei-cheng Wang * gdb.trace/tspeed.c (myclock): Return wallclock instead of user+system time. (trace_speed_test): Determine the iteration count for a time between 15..30 seconds. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index cedbb75eca1..31f8d3873fe 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2016-02-18 Wei-cheng Wang + + * gdb.trace/tspeed.c (myclock): Return wallclock instead of + user+system time. + (trace_speed_test): Determine the iteration count for a time + between 15..30 seconds. + 2016-02-18 Walfred Tedeschi * gdb.arch/i386-mpx-sigsegv.c: New file. diff --git a/gdb/testsuite/gdb.trace/tspeed.c b/gdb/testsuite/gdb.trace/tspeed.c index a3794114036..57461049180 100644 --- a/gdb/testsuite/gdb.trace/tspeed.c +++ b/gdb/testsuite/gdb.trace/tspeed.c @@ -56,13 +56,9 @@ int nspertp = 0; unsigned long long myclock () { - struct timeval tm, tm2; - struct rusage ru; - getrusage (RUSAGE_SELF, &ru); - tm = ru.ru_utime; - tm2 = ru.ru_stime; - return (((unsigned long long) tm.tv_sec) * 1000000) + tm.tv_usec - + (((unsigned long long) tm2.tv_sec) * 1000000) + tm2.tv_usec; + struct timeval tm; + gettimeofday (&tm, NULL); + return (((unsigned long long) tm.tv_sec) * 1000000) + tm.tv_usec; } int @@ -162,9 +158,9 @@ trace_speed_test (void) return -1; if (idelta > mindelta - /* Total test time should be between 2 and 5 seconds. */ - && (total1 + total2) > (2 * 1000000) - && (total1 + total2) < (5 * 1000000)) + /* Total test time should be between 15 and 30 seconds. */ + && (total1 + total2) > (15 * 1000000) + && (total1 + total2) < (30 * 1000000)) { nsdelta = (((unsigned long long) idelta) * 1000) / iters; printf ("Second loop took %d ns longer per iter than first\n", nsdelta);