New stressors
- gamma - lgamma and tgamma libm function stessors
- ovpn - exercise the ovpn Linux kernel driver and its netlink API.
- pagescatter - scattered virtual address page mapping stressor
- sigstop - SIGSTOP/SIGCONT killing/signalling
New options
- buddystat - periodic Linux buddy allocator statistics (with fragmentation estimate)
- ios - show I/O read/write statistics
- exercise-feature - select stressors by specifying a list of one or more features to exercise
- exercise-syscall - select stressors by specifying a list of one or more system calls to exercise
- exercise-library - select stressors by specifying a list of one or more libraries to exercise
- exercised - show the features, syscalls and libraries exercised by executed stressors
Performance feaures:
- memrate stressor: use sse4.1 movntdqa for x86 128 non-temporal loads
Many thanks to the following sponsors of the project (in alphabetical order)
Bruce Underhill (Codethink)
Chris Wayne
Gilbert Morgan
ELISA https://elisa.tech - Platinum sponsor
Detailed changelog
Alexandru Ardelean
- Makefile.config: allow external library checks to be disabled
Andreas Fried
- pthread, membarrier, sem: Fix race in passing arguments to stressors.
Gianmarco De Gregori
- stress-ovpn: add ovpn stressor
- stress-ovpn: close per-iteration socket to fix fd leak and stack overflow
Mark Zhuang mark.zhuang@spacemit.com
- core-asm-riscv: emit readable pause mnemonic
- core-asm-riscv: emit readable cbo.zero/cbo.clean/cbo.flush mnemonics
Colin Ian King
- debian: update changelog
- Makefile: bump version
- debian/control: use pkgconf instead of pkg-config
- core-shum: voidify shim_nice_autogroup if function is not used
- stress-filehole: read should be using page_size and not buf_len for read size
- stress-sockpair: set fds to -1 on close
- stress-ng: add more per-stressor yaml metrics
- stress-ng: fix per-bogo-op bogo counter for yaml per stressor stats
- stress-ng: output per stressor instance metrics and stats in yaml file
- stress-ng: convert % to percent in yaml tags
- stress-io: emit legacy I/O sync stressor message always
- stress-io: ensure directory is removed on tidy_dir exit path
- add: remove empty file committed by mistake
- stress-bitops: disable bitops_max for pcc compiler
- stress-memrate: use sse4.1 movntdqa for x86 128 non-temporal loads
- test/test-sendmsg: break multiple declarations onto one line each
- test/test-writev: break multiple declarations onto one line each
- test/test-time: break multiple declarations onto one line each
- test/test-syncfs: break multiple declarations onto one line each
- test/test-sync-bool-compare-and-swap: break multiple declarations onto one line each
- test/test-swapcontext: break multiple declarations onto one line each
- test/test-shm-sysv: break multiple declarations onto one line each
- test/test-setitimer: break multiple declarations onto one line each
- test/test-sendmmsg: break multiple declarations onto one line each
- test/test-sem-sysv: break multiple declarations onto one line each
- test/test-select: break multiple declarations onto one line each
- test/test-recvmsg: break multiple declarations onto one line each
- test/test-recvmmsg: break multiple declarations onto one line each
- test/test-readv: break multiple declarations onto one line each
- test/test-pwritev2: break multiple declarations onto one line each
- test/test-pwritev: break multiple declarations onto one line each
- test/test-pwrite: break multiple declarations onto one line each
- test/test-ptrace: break multiple declarations onto one line each
- test/test-pselect: break multiple declarations onto one line each
- test/test-preadv2: break multiple declarations onto one line each
- test/test-preadv: break multiple declarations onto one line each
- test/test-pread: break multiple declarations onto one line each
- test/test-posix-fallocate: break multiple declarations onto one line each
- test/test-posix-fadvise: break multiple declarations onto one line each
- test/test-nanosleep: break multiple declarations onto one line each
- test/test-msync: break multiple declarations onto one line each
- test/test-mremap: break multiple declarations onto one line each
- test/test-mm_dpwssd_epi32: break multiple declarations onto one line each
- test/test-mm_dpbusd_epi32: break multiple declarations onto one line each
- test/test-mm_add_epi8: break multiple declarations onto one line each
- test/test-mm512_dpwssd_epi32: break multiple declarations onto one line each
- test/test-mm512_dpbusd_epi32: break multiple declarations onto one line each
- test/test-mm512_add_epi8: break multiple declarations onto one line each
- test/test-mm256_dpwssd_epi32: break multiple declarations onto one line each
- test/test-mm256_dpbusd_epi32: break multiple declarations onto one line each
- test/test-mm256_add_epi8: break multiple declarations onto one line each
- test/test-lseek64: break multiple declarations onto one line each
- test/test-lsearch: break multiple declarations onto one line each
- test/test-lockf: break multiple declarations onto one line each
- test/test-libmpfr: break multiple declarations onto one line each
- test/test-libkmod: break multiple declarations onto one line each
- test/test-libjpeg: break multiple declarations onto one line each
- test/test-inotify: break multiple declarations onto one line each
- test/test-getresuid: break multiple declarations onto one line each
- test/test-getresgid: break multiple declarations onto one line each
- test/test-futimesat: break multiple declarations onto one line each
- test/test-futimes: break multiple declarations onto one line each
- test/test-futimens: break multiple declarations onto one line each
- test/test-fsync: break multiple declarations onto one line each
- test/test-fstat: break multiple declarations onto one line each
- test/test-float: break multiple declarations onto one line each
- test/test-fdatasync: break multiple declarations onto one line each
- test/test-fanotify: break multiple declarations onto one line each
- test/test-dup3: break multiple declarations onto one line each
- test/test-builtin-nontemporal-store: break multiple declarations onto one line each
- test/test-builtin-nontemporal-load: break multiple declarations onto one line each
- test/test-backtrace: break multiple declarations onto one line each
- test/test-adjtime: break multiple declarations onto one line each
- test/test-atomic_store_double: break multiple declarations onto one line each
- test/test-atomic_store: break multiple declarations onto one line each
- test/test-atomic_load_double: break multiple declarations onto one line each
- test/test-atomic_load: break multiple declarations onto one line each
- test/test-atomic_compare_exchange: break multiple declarations onto one line each
- test/test-asm-x86-tpause: break multiple declarations onto one line each
- test/test-asm-x86-rdtscp: break multiple declarations onto one line each
- test/test-asm-x86-rdtsc: break multiple declarations onto one line each
- test/test-asm-x86-rdpmc: break multiple declarations onto one line each
- stress-mergesort: make pointer ptr const
- stress-tree: make function argument pointer root const
- stress-sockpair: remove redundant double cast
- test/test-asl-cmp: break multiple declarations onto one line each
- stress-workload: minor code clean-ups
- stress-wcs: break multiple declarations onto one line each
- stress-vnni: break multiple declarations onto one line each
- stress-vm: minor code clean-ups
- stress-vm-addr: minor cast clean-ups
- stress-tree: make function argument node const
- stress-syscall: minor cast clean-ups
- stress-stream: add some missing pointer constifications
- stress-sparsematrix: minor cast clean-ups
- stress-sockpair: make function argument buf const
- stress-skiplist: make pointer list const
- stress-sigxfsz: remove redundant int cast
- stress-ng: remove reundant cast to double
- stress-rofs: remove redundant int cast
- stress-ng: minor code clean ups
- stress-rofs: remove some redundant (void) casts
- stress-rmap: remove redundant casts
- stress-pseek: make pointer info const
- stress-mmapaddr: make pointer vol_map_addr const
- stress-revio: remove redundant double cast
- stress-pseek: minor code clean-up
- stress-prefetch: make pointer l3_date_end const
- stress-pipe: remove redundant size_t cast on size_t variable
- stress-physmmap: clean up casts
- stress-pagescatter: make pointer ptr const
- stress-oom-pipe: make pointer fd const
- stress-monte-carlo: remove redundant double casts
- stress-module: remove redundant int cast
- stress-mmapmany: remove redundant cast
- stress-mmaphuge: remove redundant casts
- stress-mmapfiles: remove redundant void * cast
- stress-memrate: remove redundant double cast
- stress-memhotplug: remove redundant double casts
- stress-vm: break multiple declarations onto one line each
- stress-unlink: break multiple declarations onto one line each
- stress-udp: break multiple declarations onto one line each
- stress-tsc: break multiple declarations onto one line each
- stress-lsearch: minor code clean-up
- stress-list: make pointer entries_end const
- stress-led: make pointer token const
- stress-tree: break multiple declarations onto one line each
- stress-syscall: break multiple declarations onto one line each
- stress-switch: break multiple declarations onto one line each
- stress-stream: break multiple declarations onto one line each
- stress-str: break multiple declarations onto one line each
- stress-sparsematrix: break multiple declarations onto one line each
- stress-sockpair: break multiple declarations onto one line each
- stress-sockmany: break multiple declarations onto one line each
- stress-sockfd: break multiple declarations onto one line each
- stress-sock: break multiple declarations onto one line each
- stress-skiplist: break multiple declarations onto one line each
- stress-sigtrap: break multiple declarations onto one line each
- stress-sigpending: break multiple declarations onto one line each
- stress-sigio: break multiple declarations onto one line each
- stress-shellsort: break multiple declarations onto one line each
- stress-seek: break multiple declarations onto one line each
- stress-radixsort: break multiple declarations onto one line each
- stress-pci: break multiple declarations onto one line each
- stress-ng: break multiple declarations onto one line each
- stress-module: break multiple declarations onto one line each
- stress-mmaphuge: break multiple declarations onto one line each
- stress-mmapfiles: break multiple declarations onto one line each
- stress-memrate: break multiple declarations onto one line each
- stress-locka: break multiple declarations onto one line each
- stress-l1cache: break multiple declarations onto one line each
- stress-iomix: break multiple declarations onto one line each
- stress-insertionsort: make pointer ptr const
- test/test-libkmod: add missing tab
- sterss-mmapaddr: fetch data via a volatile pointer to ensure page is resident
- stress-fibsearch: make pointer ptr const
- stress-heapsort: minor code clean up
- stress-hash: remove redundant double casts
- stress-hsearch: make pointer ptr const
- stress-fp: break multiple declarations onto one line each
- stress-fstat: break multiple declarations onto one line each
- stress-fractal: break multiple declarations onto one line each
- stress-fp: break multiple declarations onto one line each
- stress-filename: break multiple declarations onto one line each
- stress-fibsearch: minor code clean up
- stress-fd-fork: minor code clean-up
- stress-fd-abuse: make function argument fd pointer const
- stress-exec: break multiple declarations onto one line each
- stress-exec: make function argument sph const
- stress-env: break multiple declarations onto one line each
- stress-eigen-ops: break multiple declarations onto one line each
- stress-dup: remove redundant double cast on a double type
- stress-efivar: make pointer d_name const
- stress-dir: break multiple declarations onto one line each
- core-thermal-zone: make tz_info_list function argument const
- stress-vm: make pointer cache const
- stress-vdso: minor code clean-ups
- stress-tlb-shootdown: make function argument cpus const
- stress-tlb-numa: make function argument tlb_numa const
- stress-sysfs: rename lock to path_lock
- stress-ng.h: rename lock to bogo_lock
- core-asm-x86.h: rename state to tpause_state and umwait_state
- core-sync: rename state s_pid_state to avoid name clashes
- stress-sockfd: make pointers const
- stress-sockpair: make fds const
- stress-sleep: make pointer cc const
- stress-sighup: make fds const
- stress-shm: make pointer shm_name to const
- stress-ring-pipe: make pointer buf const
- stress-rofs: make some pointers const
- stress-rename: make pointers oldbasename and newbasename const
- stress-revio: make pointer buf const
- stress-regex: make function arguments t and c const
- stress-rawpkt: make some pointers const
- stress-readahead: make function argument offsets const
- stress-prefetch: make pointer cache const
- stress-procfs: rename lock to proc_path_lock
- stress-prefetch: make pointer l3_data_end const
- stress-physmmap: make pointer ptr_end const
- stress-pipe: make a couple of pointers const
- stress-numacopy: clean up code
- stress-nanosleep: make pointer cc const
- stress-munmap: make function argument end const
- stress-mseal: make function arguments addr and expect_addr const
- stress-mmaptorture: make pointer ptr const
- stress-mmapcow: make pointer buf_end const
- stress-mmapfixed: make pointer info const
- stress-misaligned: constify read-only pointers
- stress-mincore: make pointer prev_addr const
- stress-mergesort: make some end pointers const
- stress-lsm: make pointer ctx_end const
- stress-led: make pointer led_info const
- stress-link: make pointer filename const
- stress-llc-affinity: make pointers cptr_end const
- stess-list: make a handul of list pointers const
- stress-inode-flags: make pointer file_name const
- stress-hrtimers: rename lock to counter_lock
- stress-getdent: add some pointer constifications
- stress-filename: make function argument filename const
- stress-filehole: make function argument buf const
- stress-fd-race: constify a handful of pointers
- stress-efivar: make function argument d_name const
- stress-exec: make pointer sph const
- stress-enosys: make pointer h const
- stress-dnotify: make buffer const
- core-rapl: make function argument pointer rapl_domains const
- stress-cache: make function arg params_init const
- stress-bad-ioctl: rename lock to node_lock
- stress-af-alg: make pointers salg_name and ci const
- core-thermal-zone: make pointer tz_info const
- core-thermal-zone: rename index to idx to avoid name shadowing with function index
- core-sort: make pointer u8p2 const
- core-rapl: make pointer rapl_domain const
- core-rapl: rename index to idx to avoid name shadowing with function index
- core-signal: make pointer fault_addr const
- core-net: make pointer ifa const
- core-module: make pointer l const
- core-cpu-cache: make pointer base const
- core-affinity: make pointer token const
- core-cpuidle: make pointer cc const
- stress-dentry: minor code clean-ups
- stress-cyclic: make pointer const
- stress-cpu: minor code clean-ups
- stress-cacheline: make some read-only pointers const
- core-bitops: add missing line between declaration and executable statements
- stress-cpu-online: remove redundate cast to double
- stress-bubblesort: minor code clean ups
- stress-bsearch: constify a couple of pointers
- stress-brk: remove redundant double cast on double variable
- stress-bitops: break multiple declarations onto one line each
- stress-bitops: initialize booleans with false instead of zero
- core-vmstat: make pointer match const
- core-sort: minor code clean ups
- core-shim: break multiple declarations onto one line each
- core-signal: constify pointer addr
- core-shim.h: declare variable after definition of union
- core-resources: remove redundant void * cast
- stress-ovpn: silence one more debug message
- stress-ovpn: silence some spammy debug
- stress-ovpn: check for socket family before calling socket
- stress-ovpn: restore ovpn->args_name after a reset
- stress-pagescatter: use shim_madvise instead of madvise
- Revert "stress-pagescatter: cater for madvise not existing"
- README.md: add Cygwin bug report
- stress-pagescatter: add feature flags
- stress-pagescatter: implement page order maximize/minimize mode
- stress-pagescatter: add mincore as syscall being exercised
- stress-pagescatter: unroll memory read/write loops
- stress-pagescatter: add -O3 flag to functions
- stress-pagescatter: detect if pages are mmaped
- stress-pagescatter: cater for madvise not existing
- stress-pagescatter: only report populate message if --pagescatter-populate is enabled
- stress-chmod: minor code clean-ups
- stress-chdir: merge two if statements
- stress-chatr: minor code clean-ups
- stress-cacheline: minor code clean-ups
- stress-bitonicsort: make pointer ptr const
- core-vmstat: minor code clean-ups
- core-sync: minor code clean-ups
- stress-set: fix setresgid and getresgid
- Makefile: disable loop unrolling and target clones for small builds
- core-shim: don't use getpwuid{_r} for static builds
- stress-ovpn: don't build for static builds
- stress-ovpn: break multiple declarations onto one line each
- stress-ovpn: typedef some structs and types, add missing type cast
- stress-funcrec: add HAVE_COMPLEX_H checks for complex code
- bash-completion: add pagescatter-populate
- core-resctrl: minor code clean up
- core-thermal-zone: skip of no items in thermal zone list
- core-sort: return address of function rather than use function name
- stress-ctrig: relax precision for ctanf for m68 32 bit builds
- core-shim: fix incorrect errno and return when using posix_madvise
- test/test-timer-{delete|settime} - passed timer_id by value
- stress-shm: aborts on Cygwin due to many 'fail' messages but reports success
- core-memory: totalswap should be info->totalswap
- stress-seal: cater for kernels that don't support F_SEAL_EXEC
- stress-pagescatter: actually make # pages field 10 chars wide
- stress-pagescatter: use shim_mincore instead of mincore, voidify populate
- stress-ng: allow for pause and *stat option times to be in time units
- stress-pagescatter: widen # pages field to 10 chars for 2^30
- stress-funcret: cast __fp16 division result (a float) to __fp16
- core-bitops: remove trailing whitespace
- core-vmstat: add "," to strbuf only if it contains previous text
- stress-pagescatter: clean up grammar of page order size message
- stress-besselmath: fix type of di
- core-ftrace: make ftrace helper functions static, add comments
- README.md: add a couple more examples
- stress-ng: allow the --pause option to use time units
- stress-*: rcu-utilization should be a feature and not a syscall
- stress-ng: don't duplicate stressors to run when selected with --enable-*
- README.md: update contributor list
- stress-pagescatter: forgot to add in help/documenation for some options
- stress-pagescatter: add a scattered address page mapping stressor
- core-shared-heap: remove redundant void * cast on a void * pointer
- core-shared-cache: make pointer cache const
- core-setting: bail out early if no settings are found
- core-resctrl: make pointer numptr const
- core-parse-opts: minor code clean up
- core-mwc: minor code clean up
- core-mmap: minor code clean ups
- core-cpu-cache: break up variable declaration list
- core-cpuidle: break up variable declaration list
- core-helper: add missing const in cast
- core-job: make pointer const
- core-helper: misc variable declaration clean up
- stress-mmaphuge: remove assignment to last_freeswap
- core-memory: put memory info into stress_memory_info_t
- core-interrupts: stress_interrupts_check_failure constify pointer args
- core-helper: make read-only pointers const
- README.md: Fix hyperlink
- core-hash: stress_hash_get: make hash table pointer const
- core-filesystem: misc cleanups
- core-cpu-cache: misc cleanups
- stress-fcntl: misc cleanups
- core-*: more minor code style changes
- stress-zombie: constify pointer ptr
- stress-wcs: constify pointer ptr_end
- stress-str: constify pointer ptr_end
- stress-shellsort: constify pointer ptr
- core: more code cleanups
- core-*: break multiple declarations onto one line each
- stress-z*: break multiple declarations onto one line each
- stress-y*: break multiple declarations onto one line each
- stress-x*: break multiple declarations onto one line each
- stress-w*: break multiple declarations onto one line each
- stress-v*: break multiple declarations onto one line each
- stress-u*: break multiple declarations onto one line each
- stress-t*: break multiple declarations onto one line each
- stress-s*: break multiple declarations onto one line each
- stress-r*: break multiple declarations onto one line each
- stress-set: fix incorrect ) placement
- stress-q*: break multiple declarations onto one line each
- stress-p*: break multiple declarations onto one line each
- stress-o*: break multiple declarations onto one line each
- stress-n*: break multiple declarations onto one line each
- stress-m*: break multiple declarations onto one line each
- stress-l*: break multiple declarations onto one line each
- stress-k*: break multiple declarations onto one line each
- stress-j*: break multiple declarations onto one line each
- stress-i*: break multiple declarations onto one line each
- stress-h*: break multiple declarations onto one line each
- stress-g*: break multiple declarations onto one line each
- stress-f*: break multiple declarations onto one line each
- Astress-e*: break multiple declarations onto one line each
- stress-c*: break multiple declarations onto one line each
- stress-c*: break multiple declarations onto one line each
- stress-*: add frontend-bound-bandwidth feature flag
- stress-*: add backend-bound-rob feature flag
- stress-*: add integer-ops (high rate of integer operations) feature flag
- stress-*: add fp-ops (high rate of fp operations) feature flag
- stress-b*: break multiple declarations onto one line each
- stress-ng*: add integer-division feature flag
- stress-*: add fp-division feature flag
- stress-*: add memory-bound feature flag
- stress-*: add cpu-heavy-ops feature flag
- stress-*: add bus-lock feature flag
- stress-*: add speculation-mispredict feature flag
- Manual: add memory-stall feature flag
- stress-a*: break multiple declarations onto one line each
- stress-ovpn: minor code tweaks to keep with stress-ng coding style
- CITATIONS.md: add another research paper reference
- stress-*: add libnl library feature flag
- core-ftrace: use setvbuf to set large input buffer
- stress-ovpn: use WEAK attribute for ovpn_nla_get_uint declaration
- stress-ovpn: add syscall exercises information
- stress-ovpn: use stress-ng style of voidifying unused func returns
- stress-ovpn: use shim'd memset/memcpy
- stress-ovpn: use stress-ng error message style
- README.md: update contributor list
- README.md: update contributor list
- stress-ovpn: replace __always_unused with voidification
- stress-ovpn: constify function args, format code in stress-ng style
- stress-ovpn: use some stress-ng coding style for #defines
- stress-ovpn: undo making ovpn_nla_get_uint static inline
- debian/control: add pkg-config as a depedency
- README.md: add more nl3 lib info
- debian/control + README: add libnl-3-dev
- core-vmstat: use shim_strlcat
- stress-ovpn: use shim_strscpy instead of strscpy
- stress-ovpn: use stess_mwc1() to get single bit random data
- stress-ovpn: prefix enums with SHIM_ to avoid namespace clashing
- core-tracing: clean up tracing enable/disable paths
- core-ftrace: filter out parent pid as well as the tracer pid
- core-ftrace: re-implment to get syscall data from nop tracer
- README.md: add latest ELISA presentation link
- stress-gamma: add missing L suffix to long double constants
- stress-funcret: fix broken ( ) on cmp_fp* helpers
- stress-iomix: ensure EINTR results in rc being set correctly
- stress-fault: only declare file_size when required
- stress-ng: remove unused variable n_features
- core-vmstat: stress_read_vmstat (OpenBSDS): voidify arg page_size
- stress-sock: stress_sock_ioctl: voidify args
- stress-fault: use shim_fdatasync instead of direct fdatasync call
- core-filesystem: stress_fs_io_stats_read: voidify which
- stress-funcret: clenan up pedantic type conversion warnings
- Manual: fix end of bold troff char
- stress-gamma: drop the accuracy for m68k etc
- stress-funcrec: set floating point types naturally
- stress-funcret: cmp_fpd() args should be cast to double
- stress-funcret: make comparison macros upper case macros and inline helper code
- Revert "stress-dirmany: use min size as the memcpy minimum"
- stress-sigsegv: fix volatile cast for ADDR_PAGE_MASK macro for s390x
- stress-gamma: add lgamma and tgamma libm function stessors
- stress-*: rename async-io feature flag to io-async
- stress-ipsec-mb: vector feature should be cpu-vector
- stress-*: remove some hot-package feature tags
- stress-sigsegv: add missing ; for s390 build
- test*: use open flags 0600 instead of 0666
- Dockerfile: use Debian 13 (Trixie)
- Dockerfile: use COPY instead of ADD
- Dockerfile: split up overly long lines
- stress-waitcpu: add int64_t cast for unary - operation
- stress-cpu: fix lfsr calculation
- stress-vm: add int32_t cast for unary - operation
- stress-monte-carlo: use shim_ror32n for rotate right operation
- stress-cpu: add int32_t cast for unary - operation
- core-bitops: add int32_t cast for unary - operation
- test/test-asm-x86-rdtscp: move return statement
- stress-dirmany: use min size as the memcpy minimum
- core-rapl: use index to index into array domain_name
- stress-lsearch: limit search to min of n and max
- core-thermal-zone: add sanity bounds check on index to type array
- core-setting: add a index overflow check
- stress-ng: enable OPT_FLAGS_RAPL_REQUIRED if --raplstat is enabled
- core-rapl: add sanity check to avoid buffer overflow
- stress-brk: add null check to addr - page_size address
- kernel-coverage: use [[ ]] instead of [ ]
- stress-bitops: add int32_t cast for unary - operation
- core-cpu-cache: remove redundant return at end of void func
- test/test-getpwuid_r: set result to NULL
- test/test-asm-x86-rdtsc: move return into #else path
- stress-exec: remove duplicated code for default case
- stress-rofs: remove trailing whitespace
- stress-ng: remove trailing whitespace
- core-filesystem: add missing const
- core-helper: ensure pwd_ptr is NULL
- core-filesystem: add upper 1MB write limit for stress_fs_write
- stress-fcntl: bump retries at start of loop
- core-processes: use shim_getpwduid_r instead of getpwduid
- core-rapl: ensure buf has trailing zero on fgets
- stress-fcntl: remove size effect after && operator
- core-thermal-zone: ensure buf has trailing zero on fgets
- core-hash: stress_hash_mid5: rework to reduce mutiple return paths
- core-asm-ret: don't build in error code if asm ret supported
- core-filesystem: add missing const on void * cast
- core-shim: remove restrict keyword
- core-processes: fix name shadowing on buffer buf
- core-filesystem: clean up end check of read/write loops
- core-cpu-cache: add sanity check for no cache info
- core-shim: add shim_getpwuid_r for safer getpwuid wrapper
- core-out-of-memory: remove { }
- core-shim: add helper shim_localtime_r for safer localtime
- core-filesystem: replace goto with do..while()
- core-cpu-cache: ensure array overrun never occurs
- core-cpu-cache: add missing break in switch
- core-cpu-cached: constify pointer cpu
- stress-rofs: open file using just user read+write flags
- stress-rofs: minor cleanup
- stress-rofs: simplify nested if statements
- stress-rofs: align fields
- core-shim: add helper shim_strtok_r for strtok variants
- core-affinity: use calloc instead of malloc
- stress-forkheavy: use calloc instead of malloc
- stress-resources: use calloc instead of malloc
- stress-radixsort: use calloc instead of malloc
- stress-*: add memory-stream feature flag
- stres-*: add chatoic-load feature flag
- stress-forkheavy/resoures: add resources related system calls feature flags
- stress-*: rename decimal feature flag to fp-decimal
- stress-*: add decimal feature flag
- TODO: update features todo
- stress-ng: report features in alphabetical order
- stress-ng: re-organise feature showing
- stress-ng: fix typo in str operations
- stress-*: add interrupt feature flag
- stress-*: add load-average feature flag
- stress-*: add vmalloc feature flag
- stress-*: add syscall-rate feature flag
- TODO: update
- stress-*: add io-wait feature flag
- stess-*: add io-therm feature flag
- stress-*: fix feature type of kmem-cache-alloc
- stress-*: add user-time feature flag
- stress-*: add system-time feature flag
- core-shim: add shim_unvolatile_ptr to un-volatile-ify pointers
- stress-ng: rename str to newstr to avoid name shadowing
- core-vmstat: remove trailing whitespace
- core-ioctl: add stress_ioctl_get_check to validate fetched ioctl values
- stess-ng: add missing context-switch feature flag
- stress-ng: remove white spaces
- Manual: remove trailing white spaces
- stress-*: add ioport-read and ioport-write feature flags
- stress-*: add cpu-migrations feature flag
- Manual: add power-core, power-package, power-uncore feature flags
- stress-*: add power-core, power-package, power-uncore feature flags
- core-smart: add missing S.M.A.R.T. IDs
- core-vmstat: don't print empty buddystat data on SIGINT
- Manual: and a few more examples, fix - with -
- stress-softlockup: use feature flags for specific arch
- stress-*: add cpu-instructions, memory-loads, memory-stores feature flags
- bash-completion: add missing --yield-sched option
- bash-completion: add missing --workload-dist and --workload-sched options
- bash-completion: add --varyload-type option
- bash-completion: add missing --tlb-numa-nombind and --tlb-numa-nopageout options
- bash-completion: add missing --syscall-rank option
- bash-completion: clean up option choice options
- bash-completion: remove duplicate --sparsematrix-method option
- bash-completion: add missing --sctp-sched option
- bash-completion: add missing --schedpolicy-cpumix option
- bash-completion: add missing --schedmix-cpumix option
- bash-completion: add missing prio-inv-type and prio-inv-policy options
- Manual: fix missing N after --pagemove-bytes option
- bash-completion: add missing options numacopy-affinity and numacopy-mode
- bash-completion: add missing monte-carlo-rand option
- bash-completionL fix missing mmaprandom numa option
- bashcompetion: swap mmapcow options order
- bash-completion: swap order of mmap options
- bash-completion: fix --min-nanosleep-sched to pick up args
- bash-completion: add missing --jpeg-image option
- bash-completion: add --ipsec-mb-feature option and update manual
- Manual: add missing N arg after --io-uring-ops
- bash-completion: add missing --ioport-opts and --ioport-port options
- bash-completion: add missing --icmp-flood-max-size no-arg opt
- bash-completion: add missing --gpu-devnode dev option
- bash-completion: add missing --got-direction option
- bash-completion: add missing no-arg opt --filehole-defrag
- bash-completion: add missing --fd-fork-file
- Manual: fix mix-up with ctrig-ops and ctrig-method
- bash-completion: add missing cachehammer-method
- stress-af-alg: add missing af-alg-type short help and bash completion
- bash-completion: add missing main long opts with args
- bash-completion: add missing main stressor no arg options
- stress-ng: sync short help with manual
- core-vmstat: add --buddystat buddy info periodic stats
- stress-ng: fix regression on --thermalstat not showing tz data
- README.md: update number of stressors
- stress-sigstop: add new stressor to exercise SIGSTOP/SIGCONT killing/signalling
- stress-*: add file-lock feature flag
- stress-*: add d-cache-prefetch feature flag
- stress-*: add hot-package feature flag
- stess-*: add io-read and io-write feature flags
- stress-lockbus: add memory-misaligned feature flag
- stress-misaligned: add memory-misaligned feature flag
- CITATIONS.md: add another paper reference
- stress-*: add bogo-ops-stable feature
- core-filesystem: minor re-work to avoid underflows
- stress-pipe: eliminate one more memory leak
- stress-ng: add --ios option to show I/O stats for read/write rates
- Manual: fix table end T}
- stress-sigsegv: remove trailing whitespace
- stress-fault: force more major page faults
- stress-sig: fix misplaced volatile keyword for volatile pointers
- stress-sigsegv: add address check fix for Cygwin
- stress-pipe: fix resource leak on error exit paths
- stress-numacopy: add bounds checking for externally scanned input values
- core-filesystem: add sanity checks for external scanned data
- stress-ng: enable --exercises-* options ? arguement
- stress-ng: only emit exercised information on successful stressor runs
- CITATIONS.md: add another research publication link
- README.md: add a couple of kernel bug references
- stress-funcret: clean up float/double/long double conversions
- stress-ng: mark yaml pointer as non-clobberable
- stress-*: add perf metric feature flags
- stress-*: add swap feature
- stress-*: add memory-copy feature
- stress-logmath: fix missing exercises data
- stress-tsc: fix missing exercises data
- stress-*: add memory-cmp feature
- stress-strnum: add integer feature flag
- stress-regex: add string feature flag
- Manual: add missing --exercise-feature integer option
- stress-*: add integer feature
- stress-funcret: add complex types, fix funcret-method option (typo)
- stress-*: add fp feature
- Manual: improve the --exercise-* option help
- stress-*: add fp-complex feature
- stress-*: add cpu-vector feature
- stress-*: add memory-bus feature
- stress-*: add tlb feature
- Manual: fix typo "asynchronous"
- stress-*: add async-io feature
- stress-ioport: fix typo on feature tag
- stress-*: add cou-opcode feature
- stress-*: add cou-bit feature
- stress-*: add heap feature
- stress-*: add directory feature
- stress-*: add cpu-shift feature
- core-shim: shim_emulate_fallocate: emulate EINTR error on timeout
- Manual: remove some trailing spaces
- stress-*: use libc system call name instead of linux system call name
- Manual: fix grammer
- stress-ng add new --exercise-feature list option
- stress-ng add new --exercise-library list option
- stress-lease: replace sigio with SIGIO signal name
- stress-ng: add --exercised option to show what has been exercised
- stress-ng add new --exercise-syscall list option