A recurring reason for errors is forgetting to run the prepare
step before running the file io test.
Write a warning line suggesting to run prepare.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Fix --mutex-loops description to say it's the number of empty loops
outside the lock. Also, make the loops really empty by using a compiler
barrier instead of incrementing a local variable.
Optimize the memory benchmark:
- get rid of the global mutex to calculate statistics
- remove if() and switch() branches on critical code paths
- align memory blocks to OS page size
- use native machine word size instead of 'int'
Provide compatibility wrappers for system (i.e. distribution-provided)
ConcurrencyKit on i386. Unlike bundled ConcurrencyKit, older versions
that may be provided by distributions do not support CK_USE_CC_BUILTINS,
which makes implementing 64-bit atomics impossible on x86 (32-bit).
Detect if 64-bit atomics are not provided at compile stage and if so,
resort to GCC builtin implementations.