github ColinIanKing/stress-ng V0.19.02

latest releases: V0.19.04, V0.19.03
2 months ago

stress-ng V0.19.02 "manic memory mangler"

New stressors

  • fd-abuse - file descriptor abuse stressor
  • mmapcow - memory mapping copy-on-write page stressor

New options

  • --cache-permute - permute --cache-enable-all cache options
  • --cachehammer-numa - move memory mapped memory around NUMA nodes
  • --spinmem-numa - move spinmem memory around NUMA nodes
  • --vm-flush - force memory mapped pages to be cache flushed

Notable improvements

  • cleanup of manual
  • exercise valid and invalid UTF-8 filenames in filename stressor
  • add memory and file size information to various stressors

Detailed Changelog

[Christian Franke]

  • stress-filename: report failure if any unlink() failed
  • core-helper: prevent loss of terminating signals due to siglongjmp

[Colin Ian King]

  • stress-mmapcow: add ( ) around expression
  • stress-misaligned: use x86 ds store for 64 bit builds only
  • stress-memrate: use x86 ds store for 64 bit builds only
  • stress-vm: use x86 ds store for 64 bit builds only
  • stress-fd-race: retry on socket failure on no fds or memory
  • stress-filename: fix UTF-8 32 bit codes
  • stress-filename: only perform UTF-8 test for ext filenames
  • stress-mmapcow: cast buf to void * on mmunmap call
  • Makefile.config: rename HAVE_FUTIMESAT to HAVE_FUTIMESAT_DEPRECATED
  • stress-vm: fix closed comment
  • stress-vm: handle out of memory retries more aggressively
  • stress-filename: randomly create truncated utf8 filenames
  • stress-filerace: add SEEK_HOLE and SEEK_DATA lseek whence
  • stress-fd-abuse: add SEEK_DATA and SEEK_HOLE for lseek whence
  • stress-filename: add utf-8 filenames to the mix
  • stress-cachehammer: fix build when HAVE_LINUX_MEMPOLICY_H is not defined
  • stress-cachehammer: fix build failure
  • README.md: add notes on how to make a PDF version of the manual
  • CITATIONS.md: add two more research paper links
  • stress-ng.h: add stress_instance_zero helper to detect initial stressor instance
  • stress-mmap: limit memory info to instance 0
  • stress-cachehammer: add more read/writes, add verification
  • stress-cachehammer: add --cachehammer-numa to move pages around NUMA nodes
  • stress-spinmem: correct short help for numa option
  • stress-fd-abuse: use shim'd version of flistxattr
  • Manual: remove ancient deprecated option --vfork-vm
  • Manual: remove extraneous .
  • Manual: minor hash cleanup
  • Manual: replace = with (eq
  • Manual: replace open ' with `
  • Manual: replace ^ with up arrow for 2^18
  • Manual: add io class example
  • stress-utime: remove utime syscall shim, just use utime
  • stress-utime: don't directly call utime system call on m68k
  • stress-spinmem: flush on non-volatile data pointer
  • stress-mmapcow: use shim'd mlock2 for mlock2 system call
  • stress-spinmem: add a flush and memory barrier
  • Makefile: re-order CORE_SRC and CORE_SRC_GEN
  • stress-ipsec-mb: update comment
  • core-ops: forgot to check in new cache option
  • stress-cache: add --cache-permute option to permute cache flags
  • CITATIONS.md: remove duplicate entry
  • CITATIONS.md: add some more research paper links
  • stress-flipflop: fix short help info
  • stress-statmount: fix short help
  • Manual: use \d and \u to subscript some math expressions
  • Manual: replace addition with (pl
  • Manual: replace subtraction with (mi
  • Manual: Replace - with - on option descriptions
  • stress-vm: add one-zero --vm-method
  • stress-vm + Manual: sort --vm-methods
  • stress-*: replace class with classifier
  • core-arch: move PPC64 before PPC
  • core-perf: add PMC read event counter
  • stress-mmapcow: add page merge/unmerge madvise and fix buffer resizing
  • stress-mmapcow: add --mmapcow-fork option
  • core-pthread: align comments
  • core-arch: add stress_get_arch to get build arch information
  • core-helper: ensure all YAML strings are in ' ' quotes
  • core-helper: use SOURCE_DATE_EPOCH for date/times for yaml output
  • core-cpu-cache: remove space
  • core-arch: sort architectures in alphabetic order
  • README.md: add two more kernel improvements from stress-ng analysis
  • README.md: fix notes on EXTRA_BUILDINFO=1
  • stress-memthrash: report how much memory is being used
  • stress-misaligned: add x86 direct store method int64wrds
  • stress-memrate: add x86 direct store method write64ds
  • core-helper: use SOURCE_DATE_EPOCH for date/times
  • stress-vm: add x86 direct store method write64ds
  • stress-vm: add --vm-flush option to force cache flushing
  • stress-regex: add missing const in array declaration
  • stress-prime: add missing const in array declaration
  • stress-goto: add missing const in array declaration
  • stress-filename: add missing const in array declaration
  • stress-branch: add missing const in array declaration
  • stress-bad-ioctl: add missing const in array declaration
  • Add more files to .gitignore
  • stress-acl: don't enable for static builds
  • core-helper: report build type (static vs dynamlic linked)
  • stress-spinmem: add --spinmem-numa NUMA node option
  • stress-fd-abuse: set pipe size to random page size multiples
  • stress-mmapcow: add --mmapcow-mlock option to mlock pages
  • stress-utime: handle rare failure of localtime
  • stress-hrtimers: ignore return from bogo inc lock
  • stress-utime: report times of modify/access times fail
  • README.md: add another commit link to kernel code improved by stress-ng
  • stress-sync-file: report how much file system is being used
  • stress-revio: report how much file system is being used
  • stress-readahead: report how much file system is being used
  • stress-metamix: report how much file system is being used
  • stress-iomix: report how much file system is being used
  • stress-hdd: report how much file system is being used
  • stress-fpunch: report how much file system is being used
  • stress-fallocate: add in missing rescaling of total file bytes size
  • stress-copy-file: add in missing rescaling of total file bytes size
  • stress-fiemap: report how much file system is being used
  • stress-copy-file: report how much file system is being used
  • stress-fallocate: report how much file system is being used
  • core-helper: add stress_fs_usage_bytes to report file space used
  • stress-ng: add "be patient" of user sends many SIGINT signals
  • stress-powmath: optimize reciprical and replace * with increment of scale
  • stress-prio-inv: remove system time in time usage comparisons
  • stress-shm-sysv: make --shm-sysv-bytes behave the same as --shm-bytes
  • stress-vm-splice: report how much memory is being used
  • stress-vm-rw: report how much memory is being used
  • stress-vforkmany: report how much memory is being used
  • stress-userfaultfd: silently handle EAGAIN on reads
  • stress-userfaultfd: report how much memory is being used
  • stress-splice: report how much memory is being used
  • stress-shm: report how much memory is being used
  • stress-shm-sysv: report how much memory is being used
  • stress-pagemove: report how much memory is being used
  • stress-numa: report how much memory is being used
  • Manual: fix formatting for netlink stressor
  • stress-msync: report how much memory is being used
  • core-helper: should state available memory and not total memory
  • stress-mremap: report how much memory is being used
  • stress-mmaptorture: report how much memory is being used
  • stress-mmapfork: report how much memory is being used
  • stress-mmap: report how much memory is being used
  • stress-vm: ensure mmap size is not less than a page
  • stress-memrate: report how much memory is being used
  • stress-vm: report how much memory is being used
  • core-helper: add stress_usage_bytes to report memory usage
  • README.md: add another link to a bug found with stress-ng
  • stress-fd-abuse: clear up icc build warning
  • stress-eigen-ops: fix comparison to zero on floats
  • stress-mmapcow: add in missing volatile on cast
  • Add build time detection and use __builtin_strdup
  • stress-ng.h: Add more commments
  • stress-ng: use args pointer to ref args, and set args up in field order
  • stress-wait: remove old bogo ops range check cruft
  • stress-vforkmany: remove old bogo ops range check cruft
  • stress-sigvtalrm: remove old bogo ops range check cruft
  • stress-sigurg: remove old bogo ops range check cruft
  • stress-sigpipe: use bogo op counter via s_args
  • stress-rlimit: remove old bogo ops range check cruft
  • stress-ramfs: remove old bogo ops range check cruft
  • stress-bind-mount: remove old bogo ops range check cruft
  • stress-timer: move s_args
  • stress-itimer: move s_args
  • stress-hrtimers: remove need for stress_timer_stress_continue
  • stress-timer: move bogo check
  • stress-itimer: remove need for stress_timer_stress_continue
  • stress-timer: remove need for stress_timer_stress_continue
  • stress-itimer: remove stress_itimer_stress_continue
  • Remove snap checks, treat it as a first class citizen
  • core-thrash: start numa stressing on a random node
  • core-thrash: --thrash: move pages to different NUMA nodes
  • stress-vecwide: make read-only array stress_vecwide_funcs const
  • stress-vecshuf: make read-only stress_vecshuf_funcs array static
  • stress-vnni: make read-only array stress_vnni_methods const
  • stress-vnni: make read-only pointer name const
  • stress-x86syscall: make read-only array x86syscalls const
  • stress-vecfp: make read-only array stress_vecfp_funcs const
  • stress-sysfs: make read-only array stress_sysfs_wr_funcs const
  • stress-sysbadaddr: make read-only array bad_syscalls const
  • stress-switch: make read-only array stress_switch_methods const
  • stress-stackmmap: make read-only array name const
  • stress-rotate: make read-only array stress_rotate_funcs const
  • stress-procfs: make read-only array stress_proc_info static
  • stress-open: make read-only array open_funcs const
  • stress-open: make read-only array open_flags const
  • stress-memrate: make read-only array memrate_info const
  • stress-ipsec-mb: make read-only array stress_ipsec_funcs const
  • stress-iomix: make read-only array iomix_funcs const
  • stress-hash: make array hash_methods read-only and const
  • stress-filerace: make read-only array stress_filerace_fops const
  • stress-fd-abuse: make read-only array fd_funcs const
  • stress-far-branch: make read-only array sigs const
  • stress-fp: move metrics out of stress_fp_funcs, make stress_fp_funcs const
  • stress-dfp: move metrics out of stress_dfp_funcs, make stress_dfp_funcs const
  • stress-context: make help const
  • core-cpuidle: constify busy_state
  • stress-prctl: clean up some one line if statements
  • Manual: update list of exercise fcntl commands
  • Manual: fix --workload-threads, incorrect \ on t rather than -
  • stress-prctl: exercise prctl PR_FUTEX_HASH
  • stress-vma: use stress_kill_pid_wait for SIGKILL kill and wait
  • stress-sighup: voidify return from kill
  • stress-cpu-sched: use stress_kill_pid_wait for SIGKILL kill and wait
  • core-helper: where possible find and report drive device model
  • core-helper: add some more LIKELY/UNLIKELY branch hints
  • stress-mmapcow: add randomly chosen page modify/fault
  • stress-mmapcow: add estimated time to modify/page fault a page
  • stress-mmapcow: make numa_mask and numa_nodes static
  • Manual: add page fault notes on the mmapcow stressor
  • stress-stream: declare has_sse2 as false if SSE2 can't be supported
  • stress-stream: move exercising and verification into helper functions
  • core-config-check: check if intel pstate turbo is disabled
  • stress-x86syscall: improve syscall0 performance
  • stress-tlb-shootdown: move child specific code into stress_tlb_shootdown_child
  • stress-qsort: improve inlining of larger functions
  • stress-zeta: add OPTIMIZE3 OPTIMIZE_FAST_MATH to stress_cpu_zeta
  • core-nt-store: remove optimization hint on inline functions
  • core-nt-load: remove optimization hint on inline functions
  • core-bitops: remove optimization hint on inline functions
  • core-mwc.h: remove optimization hint on mcw*modn inline functions
  • stress-mmapcow: make mappings shared and unroll loop
  • stress-pagemove: ensure sz + page_size never overflows on 32 bit systems
  • stress-seal: use %jd for (intmax_t) format specifier
  • stress-msync: add stress_get_memfree_str info on memory allocation failure
  • core-numa: add sanity check on page_size
  • core-helper: add stress_get_memfree_str to report free memory information
  • stress-mmapcow: add threshold to limit large mmaps
  • stress-mmapcow: madvise MADV_COLLAPSE on mmap'd buffer
  • stress-mmapcow: handle munmap failures due to ENOMEM
  • stress-mmapcow: add missing \n on message, add more debug when mmap fails
  • stress-mmapcow: move numa init/deinit out of child
  • stress-mmapcow: remove debug
  • core-numa: switch buffer size and page size args in numa randomization function
  • stress-mmapcow: add --mmapcow-numa option
  • stress-mmapcode: add casts for void * addr for munmap and madvise
  • stress-mmapcow: add new memory map page modify and unmap stressor
  • stress-mmap: don't exercise MAP_STACK on FreeBSD
  • stress-ng: put stressor list head and head into a stress_stressor_list_t
  • stress-ng: add some comments
  • stress-fd-abuse: memset msghdr struct rather than set all fields to zero
  • stress-fd-abuse: reduce number of gettimeofday calls
  • stress-fd-abuse: add splice()
  • stress-fd-abuse: add copy-file-range and fix bind
  • stress-fd-abuse: add build time check for SIGIO
  • stress-fd-abuse: add sendfile system call
  • stress-fd-abuse: add socket send/recv family of calls
  • stress-hdd: use HAVE_READV/HAVE_WRITEV checks
  • stress-sysbadaddr: use HAVE_READV/HAVE_WRITEV checks
  • stress-fd-abuse: hase HAVE_READV/HAVE_WRITEV checks
  • Makefile.config: add build time detection for readv and writev
  • stress-fd-abuse: use stress_fd_t for fd info, add read/write calls
  • Manual: add note about log file being fsync'd on writes
  • stress-fd-abuse: add some delays to file actions that can lock/block
  • stress-ng: report if possibly OOM killed when metrics are corrupted
  • stress-fd-abuse: wrap main activity in oomable child wrapper
  • stress-fd-abuse: perform invalid shrink pipe size to sub-page size
  • stress-fd-abuse: add more socket domain types
  • stress-fd-abuse: voidify return from some function calls
  • stress-fd-abuse: add fcntl F_DUPFD on fd
  • stress-fd-abuse: add vmsplice, make signal hander generic for SIGIO and SIGPIPE
  • stress-fd-abuse: add flistxattr call
  • stress-fd-abuse: add lockf() calls
  • stress-fd-abuse: add setns call on fd (will always fail)
  • stress-fd-abuse: add epoll_create and waitid calls
  • stress-fd-abuse: open with no access
  • stress-fd-abuse: add some more file opening strategies
  • stress-fd-abuse: add #ifdef checks for some lesser used open flags
  • stress-fd-abuse: ensure fd is in range for select
  • stress-fd-abuse: handle and ignore SIGIO signals
  • stress-fd-abuse: run parent and child on same fds for more exercising
  • stress-fd-abuse: open file descriptor abuse
  • stress-cpu-online: replace % operator with compare and set

Don't miss a new stress-ng release

NewReleases is sending notifications on new releases.