Skip to content

V0.18.08

Compare
Choose a tag to compare
@ColinIanKing ColinIanKing released this 03 Jan 14:42
· 6 commits to master since this release

stress-ng V0.18.08 "systematic system smasher"

New Stressors

  • regex - POSIX regular expression stressor
  • cachehammer - cache flush/prefetch/read/write stressor
  • veccmp - integer vector comparison stressor

New Options

  • --vm-numa - bind pages to randomly selected NUMA nodes
  • --mmap-numa - bind pages to randomly selected NUMA nodes
  • --poll-random-us - specify ppoll/pselect timeout

Detailed Changelog:

Dominik Steinberger:

  • Fix return type of numa core dummy functions

Colin Ian King:

  • Makefile: bump version
  • stress-fma: just offset array to get add/sub flavours of fma funcs
  • stress-veccmp: add compiler version checks for older compilers
  • core-helper: re-order signals
  • stress-signest: add in missing signals SIGCONT, SIGTSTP and SIGUNUSED
  • core-helper: add WSL file system magic to file magic ids
  • stress-acl: inform number of ACLs tested vs number of valid ACLs
  • stress-cachehammer: make local_buffer and local_page non-clobberable
  • Update copyright year
  • kernel-coverage: add a handful of missing options for more coverage
  • stress-mmap: make help and mmap-numa messages easier to comprehend
  • stress-vm : add --vm-numa option to bind pages to randomly selected NUMA nodes
  • stress-mmap: add --mmap-numa option to bind pages to randomly selected NUMA nodes
  • stress-bitops: add two more bitop methods, power of 2 check and zero byte check
  • Manual: add line space before tables
  • stress-lsm: use uint8_t * pointer math
  • test/test-mq-posix.c: include <fcntl.h>
  • core*, stress*: cast char to unsigned char for ctype.h functions
  • stress-ptr-chase: remove extraneous tab
  • README.md: add another research paper link
  • core-numa: fix for builds with partial NUMA support
  • stress-cachehammer: remove unused variable masked_flags
  • stress-regex: make function stress_regex_rate static
  • stress-regex: disable lazy numbers, some regcomps fail on this */
  • stress-cachehammer: make variable ret non-clobberable
  • stress-regex: add some simple regex compilation error checking
  • stress-regex: add some more regex patterns and strings to match
  • stress-regex: remove html tag regex and reduce devious regexes
  • stress-cachehammer: randomize local cache mappings across NUMA nodes
  • stress-cachehammer: add 1 page shared page and 64 byte read/write hammering
  • stress-cachehammer: dup cache ops for ppc
  • stress-lockbus: rename HAVE_MISALIGNED_LOCKBUS to HAVE_NUMA_LOCKBUS
  • stress-regex: fix missing , after literal string
  • stress-regex: add a POSIX regular expressions stressor
  • README.md: update contributors list
  • stress-cachehammer: fix RISC-V built, fix missing {
  • stress-cachehammer: add ppc64 specifif cache operations
  • stress-ng: ensure stress_pid_t reaped flag is initialized on fork
  • stress-mutex: add tab to align fields
  • core*, stress*: replace memcmp to shim_memcmp
  • core*, stress*: replace memcpy to shim_memcpy
  • core*, stress*: replace memset to shim_memset
  • stress-mutex: re-order mutex checks on success/failures
  • stress-gendent: simplify j wrap to zero logic
  • stress-lockbus: make numa_mask nonclobberable and fix free
  • stress-lsm: add parentheses around expression
  • stress-prio-inv: remove early return statement
  • stress-cachehammer: add new stressor to exercise prefetch/flush cache ops
  • stress-aio: cache align info struct for minor performance improvement
  • stress-aiol: report async I/O event rate as an extra metric
  • stress-aiol: move random aiol allocations and ctx_id into a struct
  • core-ignite-cpu: make freq_delta and limit number of retries
  • stress-aiol: inline shim wrappers for io_* system calls
  • stress-tlb-shootdown: add space in while(..)
  • stress-access: add space in while(..)
  • stress-nop: add LIKELY hints on while loops
  • stress-ng: re-work aggressive pid waiting to use stress_wait_pid
  • stress-ng: also check for ECHILD on waitpid failure
  • stress-nop: fix 14 and 15 byte no-ops for x86
  • core-opts.h: sort short options
  • Manual: add missing -M short option for --metrics
  • stress-ng: make -w a short option for --with
  • stress-ng: add -K to option parsing
  • stress-ng: make -K short hand for --klog-check
  • stress-bitops: fix short help, remove -c option
  • stress-mcontent: enforce read/write order
  • stress-memthrash: add loop unrolling to stress_memthrash_memset64
  • stress-memrate: remove init arg from macros
  • stress-cache: only add prefetchw to help if it exists
  • stress-cache: add write prefetchw option
  • Manual: fix missing - on memhotplug-mmap option
  • stress-bad-ioct: allow to run as root and write ioctls using PROT_NONE pages
  • Manual: update lockbus description for NUMA page randomization
  • stress-lockbus: split buffer across NUMA pages
  • stress-misaligned: use stress_numa_randomize_pages
  • core-numa: add stress_numa_randomize_pages to randomize pages
  • core-helper: keep file system magic in sync with linux
  • stress-vm-addr: unroll loops, minor performance improvement
  • stress-sigtrap: make t, duration static, aligned variable raised
  • stress-sigill: remove a few empty lines
  • stress-shm-sysv: unroll loops to improve throughput
  • stress-shm: add UNLIKELY hint on loop break
  • stress-set: reduce frequency of calls to stress_get_unused_uid
  • stress-rotate: unroll loop 8 times, improves performance
  • stress-dekker, stress-peterson: use memory barrier for ARM
  • stress-prio-inv: when fifo/rr fails, retry with SCHED_OTHER policy
  • core-mwc.h: fix missing #else .. #endif for mwc*modn decls
  • stress-sigurg: ignore SIGPIPE failures
  • stress-pseek: optimize bad data checking loop
  • stress-poll: add LIKELY hint to check on max_fds as it's very likely
  • stress-poll: add --poll-random-us option to specify ppoll/pselect timeout
  • stress-mutex: rename mutex_exercise to stress_mutex_exercise
  • stress-mtx: improve performance if unlikely metrics_count reset
  • stress-msyncmany: add UNLIKELY to if statement that almost never try
  • stress-workload: add vecfp double precision vector math workload
  • stress-mmapfixed: use 64 bit vec array to improve non-zero check speed
  • stress-mmap: use mwc*modn instead of using %, fix 64 bit version
  • stress-memfd: remove more of the NT store function selection
  • stress-memfd: remove NT stores, they weren't beneficial
  • stress-malloc: correct bogo-ops accounting and fix up man page
  • stress-ng: use pointer info to avoid multiple triple derefs
  • stress-jpeg: replace modulo with compare and set
  • stress-hash: don't allocate fixed sized hash bucket and buffer on heap
  • stress-fma: align double/float arrays, improve performance on SNB
  • core-mwc: inline modulo mwc functions with HAVE_FAST_MODULO_REDUCTION support
  • core-time: add unlikely hints on if statements that are not likely to be true
  • stress-aiol: improve fill and check buffer helpers
  • core-lock: add LIKELY/UNLIKELY hints on various if statements
  • stress-acl: use acl_cmp() where is is available, fallback to naive version if not
  • stress-af-alg: don't fail with EINVAL on bind calls
  • stress-af-alg: check for zero crypto items before allocate and sort
  • stress-far-branch: map pages in as shared and not private
  • core*: Remove NONNULL attribute macro
  • core-mwc: improve modulo mwc variants using modulo reduction trick
  • core-rapl: remove NONNULL attributes
  • stress-vecmath: fix checksum checking for 128 unsigned int bit vector
  • stress-veccmp: add a vector comparison op stressor
  • stress-memthrash: use non-temporal load/stores in spinread/write loops
  • stress-fma: alternatively perform subtraction in fma ops
  • stress-memthrash: add randomized mbind move to the mbind mix
  • stress-numa: use MPOL_MF_MOVE in mbind call
  • stress-misaligned: use MPOL_MF_MOVE in mbind call
  • stress-misaligned: randomized misaligned buffer across NUMA nodes
  • core-numa: add new stress_numa_mask_t type for NUMA mask handling
  • stress-unlink: ensure all fds[] are initialized before main loop
  • stress-sctp: pass int64_t types for SCTP_MAXSEG and SCTP_MAX_BURST sock opts
  • core-klog: replace \0xa escape string with space
  • stress*: Fix typos: stess* -> stress*
  • stress-ng: continue loops if run should be ignored