Commit Graph

21 Commits

Author SHA1 Message Date
Glenn Strauss
61663da4fd Run script fixes for AIX
github: closes #46
2017-06-29 20:19:39 -04:00
Glenn Strauss
aeed2ba662 allow CFLAGS, LDFLAGS initial values from env
e.g. $ CFLAGS="-fPIE" make

github: closes #44
2016-10-27 22:13:20 -04:00
Clark Wierda
35efe5e575 Fix Result Report Race Condition in Pipe-based Context Switching Test (#42)
* Fix Result Report Race Condition in Pipe-based Context Switching Test

Ensure all report() calls yield correct information.

* Simplify code in Pipe-based Context Switching Test

Remove un-needed iter1 variable
2016-10-07 00:56:46 -04:00
Glenn Strauss
c49ad96cae Run - detect num active CPUs
github: fixes #2, fixes #16
2016-09-18 00:37:45 -04:00
Kelly Lucas
088ceb225a Merge pull request #39 from gstrauss/context1-fix-end-of-test
context1.c - better end-of-stream, signal handling
2016-09-17 20:37:43 -07:00
Glenn Strauss
a04d7c6b63 Run - Can't take log of 0
do not attempt to take log() of 0

github: fixes #21
2016-09-17 22:28:19 -04:00
Glenn Strauss
777d66eb15 context1.c - better end-of-stream, signal handling
Addresses "slave write failed: Broken pipe; aborting"

There are two processes that are alternating reading and writing
a sequence number of sizeof(unsigned long) size, which is 4 bytes
on 32-bit ILP32 ABI and 8 bytes on 64-bit LP64 ABI.  The read/write
passing of incrementing sequence number occurs in infinite loop
until an alarm signals each process.  There is a race condition
where a signal delivered to one process might close the pipes while
the second process was still attempting to read or write from the
pipes, and before the second process was interrupted with SIGALRM.

This patch fixes the race condition that occurs at the end of the
test run, after the first SIGALRM is delivered.

This patch does not address the paranoid possibility that read() or
write() of 4 or 8 bytes might theoretically be a partial read() or
write(), but that is extremely unlikely except in the case of a signal
being delivered, and the only signal expected is SIGALRM, and the
processing of SIGALRM by report() function does not return.  (This
patch adds code to ignore SIGPIPE, so SIGALRM is the only expected
signal.)

github: fixes #1
2016-09-17 21:52:06 -04:00
Kelly Lucas
e0b8c00209 Merge pull request #38 from gstrauss/use-Perl-FindBin
Run: employ $FindBin::Bin to find bin paths
2016-09-17 17:46:59 -07:00
Kelly Lucas
618e0c074f Merge pull request #36 from gstrauss/whetstone-gettimeofday
whetstone: prefer gettimeofday() timing over of rusage()
2016-09-17 17:20:49 -07:00
Glenn Strauss
d7e46789a9 Run: employ $FindBin::Bin to find bin paths
github: fixes #14
2016-09-17 20:19:14 -04:00
Glenn Strauss
ab61513f03 arith: use volatile to attempt to thwart optimizer
github: fixes #7, fixes #10, fixes #21
2016-09-17 20:09:01 -04:00
Glenn Strauss
cc8b49ff8e prefer gettimeofday() timing over of rusage()
github: fixes #15, fixes #18, fixes #26
2016-09-17 19:58:18 -04:00
Kelly Lucas
9665b29c99 Merge pull request #22 from meteorfox/fix-16-cpus-limitation
make maxCopies unbounded for 'system' and 'misc' suites
2016-09-17 15:51:53 -07:00
Glenn Strauss
274c178661 remove declarations which dup from system headers
('-ansi' compiler flag might have caused some declarations to be hidden)
2016-03-24 15:48:16 -04:00
Glenn Strauss
58e83b663b fix compiler warnings
const correctness
format string safety
remove assigned, but unused, variables
fix arguments to execl()
remove defined but unused warnings (for code used only by some tests)
2016-03-24 15:48:16 -04:00
Glenn Strauss
7f1ddef4e8 Makefile modernization
update optimization flags
use Makefile patterns to reduce duplication
remove -ansi flag (increase portability)
add missing dependencies
2016-03-24 15:48:15 -04:00
Chris Morgan
64c45b40c0 Fix for OS X based on https://gist.github.com/barusan/11033924
barusan's patch mostly retains compatibility with linux, but
unconditionally used machdep instead of /proc/cpuinfo

This attempts to merge the patch without harming behaviour on linux by
detecting the darwin platform and using machdep there but restores
/proc/cpuinfo elsewhere.
2016-03-24 15:48:15 -04:00
Steven Noonan
910276909b make maxCopies unbounded for 'system' and 'misc' suites
Quoting original author of this patch:

Simply un-limits the 'misc' and 'system' suites.

Half-related thoughts about testing quality:

I'm curious why there's a shell1, shell8, and shell16 set of tests. Aren't the
latter two equivalent to './Run -c 8 shell1' and './Run -c 16 shell1'? I think
shell8 and shell16 are pointless if this is the case.

At the very least, I think shell8 should be out of the default run (the $index
set), because it will essentially give a misleading number if you have more
than a single core in the system. Isn't the purpose of the serial run to
essentially measure how well the system performs on single-threaded activities?
Or perhaps to measure how well a single core performs? Having 'shell8' in the
$index set artificially inflates the score for serialized runs and artificially
damages the score during maxed-out parallelized runs. If you are actually
interested in seeing how well 'shell8' does on exactly one core, shouldn't you
do the equivalent of 'taskset 1' on it, forcing the child processes to stay on
that single core?

End of quote.

Signed-off-by: Carlos L. Torres <carlos.torres@rackspace.com>
2015-06-06 17:40:32 -05:00
kdlucas@gmail.com
9e74ce4889 Updated logo file to reflect version change to 5.1.3 2011-01-18 06:48:59 +00:00
kdlucas
7df8999264 Rev'd to 5.1.3 to add fix for parallel job compilation. 2011-01-14 17:30:40 +00:00
headstay
f53eadaa3e Version 5.1.2. 2009-10-28 01:52:39 +00:00