Commit Graph

57 Commits

Author SHA1 Message Date
Pan
81e9de58c5
fstime.c - Seperate r/w files for each parallel (#85)
* fstime.c - Seperate r/w files for each parallel

Existing workload is using 1 read file and 1 write file for file
read/write/copy test. In multi-parallel scenario, it leads to
high file lock contention, while read/write/copy is not stressed.

This change seperates r/w files for each parallel to satisfy the
multi-parallel test purpose.
2023-02-27 02:02:07 -05:00
Lipeng Zhu
6705203ac0 Use builtin arithmetic expansion feature to replace external expr command to triger tst.sh in parallel ASAP 2023-02-07 17:18:07 -05:00
Jiebin Sun
fb4521ca2d Allocate unique fd for each parallel to avoid unexpected syscall test result
If all the parallels dup the same fd 0 and share the same file reference
count, then the f_count will meet with heavy lock contention. The syscall
cost of dup/close will occupy only a few in the test result. Allocating
one unique fd for each parallel will reduce lots of the unexpected
lock contention cost. And it will fully perform the syscall cost of
dup/close.

If the parallel number is 1, the testing result with this patch is the
same with the original one on ICX server, which is expected. If the
parallel number is large, the testing result will accurately show the
syscall cost of dup/close without the impact of data sharing.

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>
2023-01-19 13:25:51 -05:00
Glenn Strauss
2ebb4c5916 title[22] -> title[18]
title[22] -> title[18] to match length of strings passed.
(not pretty code and ultimately title[] is src to strcpy(),
 but at least have the prototype and function definition match)
2023-01-19 03:22:41 -05:00
Rong Tao
1d44debaec title[18] -> title[22]
compile warning:

```c
src/whets.c:797:20: warning: argument 1 of type ‘char[18]’ with mismatched bound [-Warray-parameter=]
  797 |     void pout(char title[18], float ops, int type, SPDP checknum,
      |               ~~~~~^~~~~~~~~
src/whets.c:315:17: note: previously declared as ‘char[22]’
  315 |  void pout(char title[22], float ops, int type, SPDP checknum,
      |            ~~~~~^~~~~~~~~
```
2023-01-19 03:20:07 -05:00
Glenn Strauss
e477bc0341 prefer || over 'or' (portability w/ ancient Perl) 2022-02-24 02:24:57 -05:00
Glenn Strauss
b9beecdc4a increase size of logname[] in src/big.c for debug
(thx Cat22)

github: closes #65
2022-02-24 02:06:00 -05:00
longerzone
d9242458ba A little trick to make Run recongnize the correct CPU cores on ARM machine, and then unixbench will run 1 threads and then multi-threads which is the correct process. Solve the Problem in issue : https://github.com/kdlucas/byte-unixbench/issues/60
github: closes #60
github: closes #61
2022-02-24 01:33:22 -05:00
Yuanhong Peng
3d069b2e9c Directly call syscall(SYS_getpid) instead of getpid() in syscall test
According to http://man7.org/linux/man-pages/man2/getpid.2.html:

> From glibc version 2.3.4 up to and including version 2.24, the glibc
wrapper function for getpid() cached PIDs, with the goal of avoiding
additional system calls when a process calls getpid() repeatedly.

So it's not suitable to messure the system call performance through
getpid(). Directly call syscall(SYS_getpid) is more appropriate.

From glibc version 2.25, cached pid is removed to fix some bugs which
makes the testsuite wrongly report performance regression on system call.

Same issue is reported to unixbench upstream long time ago, but nobody
cares. https://github.com/kdlucas/byte-unixbench/pull/58

Signed-off-by: Yuanhong Peng <yummypeng@linux.alibaba.com>

github: closes #58
2022-02-24 01:28:31 -05:00
Kelly Lucas
070030e09f
Merge pull request #56 from harish-24/power_cpu
Fix option -march with -mcpu for POWER architecture
2018-01-28 22:20:33 -08:00
Harish
519c2b47b1 Fix option -march with -mcpu for POWER architecture
In Makefile, -mcpu option is added for POWER architecture instead
of -march

Signed-off-by: Harish <harish@linux.vnet.ibm.com>
2018-01-29 11:36:26 +05:30
Kelly Lucas
93d345889b
Merge pull request #55 from harish-24/handle_power
Handle POWER architecture for unsupported option
2018-01-21 22:06:20 -08:00
Harish
5031788bb2 Handle POWER architecture for unsupported option
-march=native is not supported on power architectures. Handled it
in this patch as to skip on POWER

Signed-off-by: Harish <harish@linux.vnet.ibm.com>
2018-01-19 14:41:49 +05:30
Kelly Lucas
5734fb362d
Merge pull request #53 from t2-kob/environment_settings
Added change directories and filename via Environment variables.
2018-01-13 20:05:29 -08:00
Kelly Lucas
205c0d01d0
Merge branch 'master' into environment_settings 2018-01-13 20:05:00 -08:00
Kelly Lucas
a62313ed54
Merge branch 'master' into environment_settings 2018-01-13 20:02:49 -08:00
t2-kob
ba94c19199
Fixed the "USAGE" to improve readability. 2018-01-14 12:49:11 +09:00
Kelly Lucas
5784739313
Merge pull request #54 from t2-kob/change_gcc_options
Add change gcc options via Enviroment arguments.
2018-01-13 12:40:21 -08:00
Kelly Lucas
50f3aad18b
Merge pull request #52 from t2-kob/csv_support
Added csv support(score only) by Environment variable.
2018-01-12 21:18:17 -08:00
t2-kob
c17e1779ea Add change gcc options via Enviroment arguments. 2018-01-12 14:15:12 +09:00
t2-kob
fb25b1613f Added change directories and filename via Environment variables. 2018-01-12 11:53:53 +09:00
t2-kob
918ccbdf8b Added csv support(score only) by Environment variable. 2018-01-12 10:51:56 +09:00
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
Kelly Lucas
34ecf4ec6a Merge pull request #41 from gstrauss/Run-on-active-CPUs
Run - detect num active CPUs
2016-09-17 21:45:26 -07: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
Kelly Lucas
cada60619c Merge pull request #40 from gstrauss/Run-check-log-0
Run - Can't take log of 0
2016-09-17 20:37:33 -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
Kelly Lucas
379a68e4b1 Merge pull request #37 from gstrauss/arith-volatile
arith: use volatile to attempt to thwart optimizer
2016-09-17 17:20:19 -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
Kelly Lucas
c22488d72c Merge pull request #34 from gstrauss/Makefile-modernization
Makefile modernization. Looks good. Let's merge and see if anyone finds issues they cannot resolve.
2016-05-01 14:54:44 -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
Tomcat Zhang
a17d08ea9a Add gitignore 2016-03-24 15:48:15 -04:00
Kelly Lucas
e80d3f3739 Merge pull request #33 from haydarai/master
Correct mistype words in Readme file.
2016-03-18 23:37:07 -07:00
Haydar Ali Ismail
d533a9a3fc Correct misstype words in Readme file. 2016-03-19 12:36:00 +07:00
Kelly Lucas
1274c14753 Merge pull request #30 from mbrukman/readme-html-to-markdown
Fixed Markdown formatting.
2015-12-22 08:56:40 -08:00
Misha Brukman
06a50c0f27 Fixed Markdown formatting.
* Removed HTML tags, replacing with Markdown as appropriate
* Fixed spelling, grammar, etc.
* Added missing code formatting
2015-12-21 19:14:15 -08:00
Kelly Lucas
654b2d2810 Merge pull request #29 from mbrukman/license
Added the GPL v2 license file.
2015-12-18 20:14:02 -08:00
Misha Brukman
599754f79d Added the GPL v2 license file.
The original source of this repo is https://code.google.com/p/byte-unixbench/
where the project is listed as being released under the GPL v2 license, but
as it was metadata in Google Code but not explicitly named in the project source
code itself, it did not transfer when the project was moved to GitHub.

This change clarifies the license of the project and provides a complete copy of
the license to make it explicit to future users and contributors.
2015-12-17 22:09:44 -08:00