stress-ng V0.19.00 "furious file frobnicater"
New stressors
- filerace - exercise file system calls attempting to trip file races
New options
- --buildinfo option to show build time information
Optimizations
- gcc x86 optimizations (target clones) for graniterapids
- relaxed cmpxchg for improved high performance computing scaling
- reduced branching on stressor loop termination check in stress_continue()
- gcc tree vectorize and tree-slp-vectorize optimizations
- add support gcc-15 buitin_stdc_rotate builtin functions
- fractal stressor: use faster atomic inc on larger row counter and vectorized compute loops
Detailed Changelog
[Yong-Xuan Wang]
- stress-gpu: remove sigalrm handler
- stress-af-alg: prevent unsafe longjmp
- stress-sysinval: prevent unsafe longjmp
- stress-memrate: prevent unsafe longjmp
[Jesse Huang]
- core-config-check: Fix segfault cause by uninitialized namelist
[Colin Ian King]
- Makefile: bump version
- Manual: Fix spelling mistake "occuring" -> "occurring"
- stress-filerace: Fix spelling mistake "attemp" -> "attempt"
- stress-brk: move brk stats to shared page, reset brk on out of memory
- stress-brk: make brk reset work correctly for --brk-bytes option
- stress-sigbus: make unaligned pointers volatile to force stores
- stress-sigbus: disabled x86 misaligned SIGBUS feature
- stress-sigbus: jump out of loop on timeout, check info for null ptr
- stress-fd-race: remove network class, it's not correct
- stress-sigbus: avoid infinite longjmp spin loops
- stress-sigbus: ensure AC bit in EFLAGS is cleared in all signal handlers
- stress-lockbus: disable pcc builds, currently it breaks the compiler
- README.me: remove old stale tarball info
- core-log: add the logging prefix to the logging aborting stress process
- stress-schedmix: fix build issue when HAVE_PSELECT is not defined
- stress-resched: fix build when HAVE_SETPRIORITY is not defined
- stress-poll: add HAVE_PSELECT check
- stress-nice: fix build issues on RISC-V debian sid
- core-cpu-cache: remove const on ptr_end
- stress-fpunch: clean up variable name shadowing on variable ret
- stress-lockbus: clean up variable name shadowing on variable rc
- stress-filerace: clean up name shadowing warnings on fd, i and uid
- core-sync: move stress_sync_state_load from stress-ng.h to core-sync.h
- core-sync: move stress_sync_start_cont_list from stress-ng.c to core-sync.c
- stress-: move include of core-sync.h into stress-ng.h
- stress-cachehammer: add extra checking for failed temp dir creat failures
- stress-ng.h: make stress_continue() a macro
- stress-ng: re-work stress_continue() to just check bogo-ops
- core-vmstat: remove include of stress-ng.h
- core-try-open: remove include of core-attribute.h
- core-.h: remove include of core-attribute.h
- core-config-check: make warning more obvious
- stress-ng: use stress_strsignal helper rather than strsignal
- core-perf.h: remove include of stress-ng.h
- stress-ng.h: rename bogo_ops to bogo_max_ops since it's a max threshold
- stress-ng.h: remove -O3 from bogo counter helpers
- stress-ng.h: put bogo op-related info into bogo struct
- stress-vma: replace g_stress_continue_flag with helper func
- stress-easy-opcode: replace g_stress_continue_flag with helper func
- README.md: add another research paper link
- Makefile: enable tree vectorize and tree-slp-vectorize and relax cmpxchg loops
- Add new --buildinfo option to show build time information
- Manual: describe the duplication of stdout in the --log-file option
- stress-ng: ensure no child processes are forked on --dry-run
- stress-filerace: only close fd if fd has been opened
- core-sync: move process synchronization helpers from stress-ng.c to core_sync.c
- stress-dirmany: maximize dirmany_bytes to 1TB if variable is wide enough
- stress-dfp: remove undefs that came from fp stressor
- stress-rdrand: add power11 check
- stress-rdrand: fix ppc random issue, generate 64 bit value
- stress-lockbus: SIGILL on s390 should disable misaligned locks
- Makefile: add extra flags for static builds
- core-attribute: add gcc version check for nonstring attribute
- core-target-clones: add arch=diamondrapids
- core-builtin.h: add support gcc-15 buitin_stdc_rotate* functions
- core-, stress-: use nonstring attribute for char arrays
- Makefile.config: add built time check for nonstring attribute
- stress-filerace: remove O_EXCL to avoid exclusive opening
- stress-filerace: add ftruncate on recently opened file
- stress-filerace: enable POSIX_FALLOCATE, add open/fallocate/close
- stress-filerace: hammer temp directory dirent reading (linux only)
- stress-filerace: add more focused file hammering
- stress-filerace: select function either randomly or sequentially
- stress-fractal: use faster atomic inc on larger row counter
- stress-filerace: move stress_filerace_read_random_uint32 into only caller
- stress-filerace: more voidifications for DragonFlyBSD clean builds
- stress-filerace: voidify fd and filename in stress_filerace_faccessat
- stress-filerace: add some macro checks before using statx and name_to_handle_at
- Manual: remove discards metrics from iostat description
- core-vmstat: remove iostat discards metrics, they are not portable or used much
- Revert "stress-fractal: move row lock from global struct to stressor shared page"
- stress-nop: add x86 floating point fnop instruction
- stress-filerace: increase size of locked regions, add more concurrency
- stress-filerace: exercise lockf test
- stress-filerace: increase number of random operations per file
- stress-lockbus: remove #ifdefs around label done
- stress-: set dirent name lists pointers to NULL
- stress-sigbus: generate SIGBUS on x86 with misaligned memory access
- README.md: add Jesse Huang to contributor list
- stress-lockbus: add SIGILL detection, skip with no resources warning
- stress-filerace: add sendfile to the mix
- stress-filerace: add readlinkat, use dir_fd variable for *at() file calls
- stress-filerace: exercise name_to_handle_at on fd and filename
- stress-filerace: add access and faccessat system calls
- stress-fractal: move row lock from global struct to stressor shared page
- stress-fractal: manually unroll julia set for vectorization
- stress-fractal: manually unroll mandlebrot for vectorization
- stress-fractal: remove unrolling, minor optimization fixes
- stress-acl: delete acls using acl_delete_def_file
- stress-filerace: add acl exercising
- stress-fcntl: fix spelling mistake "ftuncate" -> "ftruncate"
- stress-fcntl: fix missing EDEADLK
- stress-filerace: ensure tmp is initialized with a sane value
- stress-filerace: declare open read and open write flags
- stress-filerace: rename times to tv, truncate secs
- stress-filerace: exercise fcntl file r/w hinting
- stress-filerace: exercise utimes() on fd
- stress-filerace: exercise path and fd based statx calls
- core-shim: update shim_statx_t to keep in sync with the kernel
- stres-filerace: add mmap'd file write + msync
- stress-filerace: add small random sleeps during file locks
- stress-stream: remove linux checks for cache size info
- stress-sigfd: remove glibc version constraint
- stress-filerace: add chdir and fchdir calls
- stress-filerace: add more locking exercising
- stress-filerace: add file unlocking to locked files
- stress-revio: add a readahead option to revio-opts
- stress-iomix: add a readahead iomix method
- kernel-coverage: only set iosched if it's available
- stress-filerace: try to drop uncached read only data from buffer cache
- stress-filerace: only use SIGIO handler if SIGIO is available
- stress-ng: fix pr_dbg fix format specifier
- stress-filerace: create/append 64 files in a back, fix open flags
- stress-lockmix: fix locking, should be locking with F_OFD_SETLK
- stress-lockofd: fix locking, should be locking with F_OFD_SETLK
- stress-filerace: add ofd read/write file locking
- stress-filerace: add lockf locking on portions of a file
- stress-filerace: add fcntl F_SETLEASE read/write locking
- stress-filerace: reduce number of files to 64 to increase race potential
- stress-filerace: add mkdir/rmdir and link system calls
- stress-filerace: add bulk open/close of file
- stress-filerace: perform 4 or 512 byte read/writes
- stress-filerace: add file help information
- stress-filerace: add more file based syscalls based on filename
- stress-filerace: rename stress_filerace_posix_fallocate
- stress-filerace: add build-time check for readahead and use it
- stress-filerace: add posix_fallocate and posix_fadvise
- stress-filerace: add a new file race stressor
- stress-lockmix: remove debug message
- core-, stress-: ensure all messages don't start with capital letter
- core-, stress-: replace "failed: ..." with "failed, ..."
- core-, stress-: use pid_t for waitpid() returns and add PID for errors
- core-out-of-memory: add PID and check for OOM'd process in klog
- stress-fpunch: don't shared fd on child processes when using lseek
- stress-fpunch: fix offset in error message
- stress-tmpfs: fix lseek error returns check
- stress-metamix: fix lseek error returns check
- stress-file-ioctl: fix lseek error returns check
- stress-fpunch: fix lseek error returns check
- stress-fanotify: add 4 more report types
- stress-prctl: add support for prctl commands 71 to 77
- README.md: add another kernel bug report link
- core-ignite-cpu: set per cpu power/pm_qos_resume_latency_us to 1 us
- stress-easy-copy: fix asm, should be asm volatile