Skip to content

stress-ng V0.21.04 "Exasperating electron exerciser"

Latest

Choose a tag to compare

@ColinIanKing ColinIanKing released this 13 Jul 13:13

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