Skip to content

Releases: ColinIanKing/stress-ng

V0.18.05

02 Oct 08:30
Compare
Choose a tag to compare

stress-ng V0.18.05 "manic machine masher"

New Stressors

  • --sighup, SIGHUP stressor
  • --pseek, pwrite/pread concurrent seek position stressor

New Options

  • --icmp-flood-max-size to specify max random icmp flood packet size
  • --far-branch-flush to force instruction cache flushing
  • --sem-sysv-setall for SYS-V semctl SETALL command
  • --sem-shared for shared semaphore across sem stressors

Detailed Changelog

[Denis Ovsienko]

  • README.md: Update Haiku particulars.
  • stress-fcntl: fix multiple workers on Haiku
  • stress-touch: Fix file name handling in stress_touch_dir_clean().
  • Exempt Haiku from scheduling tests.

[Lukas Durfina]

  • stress-vm: use correct method names for error messages
  • stress-fp: support bf16

[Colin Ian King]

  • Makefile: bump version
  • README.md: add another kernel bug report
  • stress-tree: only pack tree struct for 64 bit x86-64
  • stress-iomix: don't report an error in EINTR on lseek
  • stress-file-ioctl: only report there are no ioctls tested on instance 0
  • stress-ng.h: define NAME_MAX for systems that don't define this
  • stress-pseek: only define stress_peekio_pthread if using pthreads
  • README.md: add another kernel bug reference
  • stress-bad-ioctl: fix lock segfault on removal
  • stress-cpu: add comment about pcc warning in union exerciser
  • core-*: add gcc function attribute returns_nonnull for extra sanity checking
  • stress-vecfp: minor space adjustments in array declaration
  • stress-jpeg: break some long lines
  • Manual: add notes about support for stress-ng
  • README.md: add some more kernel bugs and performance improvement links
  • README.md: Add another research paper link
  • stress-fd-race: add even/odd fd stride close to random closing
  • kernel-coverage: fix btrfs option -csum, should be --csum
  • stress-close: clean up some block comments
  • Manual: Fix typo "spinemm" ->" "spinmem"
  • Manual: minor change, "note - " to "note: "
  • README.md: Update number of stressors, 350+
  • stress-dev: rename stat bufs to avoid name shadowing
  • core-*: add gcc function attribute nonnull for extra sanity checking
  • README.md: Add Lukas Durfina to contributor list
  • stress-sighup: add send/recv handshake over pipe and sync on child death
  • stress-sighup: add missing bogo-op counter
  • stress-pseek: cast offsets to intmax_t to print with %j format specifier
  • stress-icmp-flood: voidify return from stress_get_setting
  • stress-sighup: add SIGHUP stressor
  • stress-sigtrap: Fix short help, it has the wrong description
  • stress-sigabrt: Fix short help, it has the wrong description
  • stress-sigabrt: fix typo, SIGABORT -> SIGABRT
  • core-asm-riscv.h: fix typo in comment
  • stress-icmp-flood: add new --icmp-flood-max-size option
  • stress-schedmix: remove trailing whitespaces
  • stress-schedmix: add some randomness to deadline times
  • stress-schedmix: add select and pselect timed delays to sched mix
  • Makefile.machine: replace objdump with readelf to detect machine type
  • Makefile: add $(PRE_V) before eigen if statement
  • stress-jpeg: replace division with recipriocal multiply in plasma
  • stress-icmp-flood: don't keep on setting packet up on each loop
  • kernel-coverage: add /usr/sbin to $PATH
  • stress-fp: fix incorrect placement of #if defined for ibm128 division
  • stress-fp: add IBM powerpc ibm128 floating point add/mul/div operations
  • stress-far-branch: add --far-branch-flush option to try to flush instruction cache
  • README.md: update number of stressors, 350 are now available
  • core-helper: add root like detection for Cygwin
  • stress-dev: exercise more sound control ioctls
  • core-config-check: enable oom-avoid for containerized environment
  • stress-daemon: rename err exit labels for improved readability
  • core-klog: log audit kernel log messages
  • stress-dev: use strscpy for safe copying of strings
  • stress-pseek: pwrite/pread concurrent seek position stressor
  • Manual: fix --hdd rd-seq option description
  • Manual: fix --hdd rd-rnd option description
  • stress-hdd: ensure hdd_bytes_max is set to the max number of bytes written
  • kernel-coverage: add --change-cpu per stressor and use --ksm for vm stressor case
  • stress-iomix: exercise cachestat(2) with invalid flags and invalid fd
  • stress-cgroup: add more cgroup controls to read/write
  • stress-dev: exercise ioctl command TIOCCONS
  • stress-dev: add /dev/sg* devices to be exercised by stress_dev_scsi_blk
  • stress-dev: fix DM_LIST_VERSIONS ioctl and add some invalid ioctl calls
  • stress-dev: fix dm ioctl stressor, use /dev/mapper/control
  • stress-ng: remove check to stress_cwd_readwriteable
  • core-config-check: add hint to use --oom-avoid on low memory systems
  • Makefile: add source dependencies for stress-eigen-ops.o
  • kernel-coverage: add more per file system mount options for increased kernel coverage
  • stress-dev: exercise /sys/dev/* files on Linux systems
  • core-helper: add naive Haiku libc information detection
  • README.md: update contributors list
  • stress-binderfs: exercise binderfs dev entry removal
  • stress-mergesort: remove ALWAYS_INLINE from a comment
  • stress-sigq: exercise invalid rt_sigqueueinfo call
  • stress-xattr: exercise xattr on TMPFILE
  • stress-tlb-shootdown: break func args into multiple lines
  • stress-timerfd: minor alignment of data in source
  • stress-sparsematrix: minor optimization hints
  • stress-sock: make stress_send_error a PURE function
  • stress-full: only declare and use variable w for linux builds
  • README.md: Add LP#2080853 bug to known bugs found by stress-ng
  • stress-full: enable of Solaris, FreeBSD and NetBSD
  • stress-full: report errno for seek failures
  • stress-af-alg: fix two heap memory leaks
  • stress-af-alg: fix inverted assocdata allocation failure check
  • Makefile: add rebuild dependency on Makefile.machine
  • Makelfile.machine: remove tabbed empty line
  • core-sort: add copy/swap helper functions for specific and generic sizes
  • stress-fcntl: exercise Linux 6.12 F_CREATED_QUERY fcntl command
  • stress-acl: stress_acl_cmp: constify acl1 and acl2 arguments
  • core-helper: stress_get_libc_version: make educated guess that musl-libc is being used
  • stress-file-ioctl: voidify function arg fd if it's not used
  • core-helper: stress_get_fs_info: voidify filename if it's not used
  • Makefile: make musl-gcc detection more robust
  • README.md: Add another research paper link
  • Makefile: only define _FORTIFY_SOURCE if it's not defined
  • stress-numa: fix typo in comment
  • kernel-coverage: add --interrupts option to each test run
  • kernel-coverage: add --acl-rand option to acl stressor
  • kernel-coverage: add --mmap-slow-munmap to mmap stressor
  • kernel-coverage: add --memfd-zap-pte option to memfd stressor
  • kernel-coverage: add --get-slow-sync get stressor option
  • kernel-coverage: add --swap-self swap option
  • kernel-coverage: add --sockfd -1 --sockfd-reuse test case
  • kernel-coverage: add --yield -1 --yield-sched scheduler tests
  • kernel-coverage: add --c-state to cpu stress test case
  • kernel-coverage: add --cpu -1 --raplstat 1 --rapl test case
  • kernel-coverage: add --sem-shared option for sem stressor
  • kernel-coverage: add --sem-sysv-setall sem-sysv test case
  • stress-af-alg: put fixed sized buffers on the stack rather than heap
  • core-helper: make blocks the correct unsigned type
  • stress-file-ioctl: add some per-file system specific ioctls
  • kernel-coverage: add -v verbose option when running stressors
  • kernel-coverage: run procfs stressors for longer
  • stress-poll: exercise invalid fd being passed into poll()
  • stress-sem-sysv: add option --sem-sysv-setall
  • stress-dev: exercise linux /dev/bsd/* scsi block devices
  • core-setting: print bool type values as true or false
  • core-setting: remove need for dup'ing name string
  • stress-dev: replace __u32 with uint32_t to fix musl libc builds
  • core-*: print per-stressor settings when -v is enabled
  • stress-dev: check for autofs #defines for stress_dev_autofs_linux

V0.18.04

06 Sep 22:54
Compare
Choose a tag to compare

stress-ng V0.18.04 "canny kernel crusher"

Bugfix release, bug fixes:

Detailed Changelog:

  • Makefile: bump version
  • Makfile: add Makefile.machine to make dist rule
  • stress-dev: clean up build warning on non-x86 builds
  • stress-numa: rename ptr with str to fix name shadowing warning
  • stress-vm: remove debugging setting if in statement
  • Makefile.machine: add check for existence of readelf
  • core-ftrace: remove PURE attribute on void return functions
  • stress-*: fix vm memory % size parameter handling
  • stress-vm: provide more information when mmap fails
  • stress-numa: make all of buf map to the current numa node
  • stress-numa: parse /proc/self/numa_maps to see if buf is on the expected node
  • core-shim: remove a space
  • core-*: add PURE attribute to pure functions
  • core-killpid: constify variable saved_errno
  • core-cpu: re-order CPUID strings, add some missing examples
  • stress-umount: remove extraneous empty line
  • stress-udp: add missing empty line
  • stress-tmpfs: make variable i const
  • stress-sparsematrix: move pointer next to inner scope
  • stress-sockpair: convert nested if statement into switch statement
  • stress-sigurg: inline helper function stress_send_error
  • stress-sigsegv: remove empty line
  • stress-sigrt: remove empty line
  • stress-set: put rlimit resource ids into a const rlimit_resources array
  • stress-session: make function argument err const
  • stress-rotate: make variables lo and hi const
  • stress-rmap: clean up switch statement, make i a register
  • stress-resched: make variables percent and scale const
  • stress-pci: reduce scope of pointer next
  • stress-opcode: make variable tmp const
  • stress-nice: make variable which const
  • stress-mutex: make variable max const
  • stress-mmap: make variable offset const
  • stress-mlock: make variable mlocked const
  • stress-*: add power10 builtin check support
  • stress-mknod: constify variable j
  • stress-memcpy: use the o1 and o2 variants in the "all" method
  • stress-membarrier: remove empty line
  • stress-led: reduce scope of pointer 'next'
  • stress-klog: make buflen const
  • stress-insertionsort: constify variable tmp
  • stress-hdd: constify variable v
  • stress-hash: explicitly use float values in chi computation
  • stress-dev: add naive simple /dev/autofs exerciser
  • stress-chattr: add mmap'd page modification to file, add metrics
  • stress-dev: exercise /dev/cpu/0/msr ioctl reading of TSC
  • stress-dev: add /dev/cpu/0/cpuid device stressor
  • core-*: don't include <sys/sysctl.h> on Linux targets
  • stress-cpu: constify some variables and add register to some variables
  • stress-clock: constify variable clkid
  • stress-chattr: constify variable bitmask
  • stress-cgroup: constify variable offset
  • stress-cacheline: constify variable 'now'
  • stress-mlockmany: remove stray const in start of source
  • stress-bitops: constify some variables
  • stress-apparmor: constify variables, fix p wrap overflow using the ternary operator
  • Manual: add in recursive hints to CPU stressor manual
  • Makefile: improve machine detection and disable -fmodulo-sched for S390x builds
  • stress-*: constify stressor_info_t structs
  • stress-aiol: constify offset
  • stress-af-alg: remove JMP debug message
  • stress-acl: constify variables, clean up some code alignment
  • stress-: voidify returns from sig() calls
  • stress-sem: add --sem-shared option to share 1 semaphore with all sem instances

V0.18.03

01 Sep 09:44
Compare
Choose a tag to compare

stress-ng V0.18.03 "persistent process pressurizer"

New Stressors:

lockmix - mixed file locking stressor
fibsearch - Fibonacci search (like bsearch, but uses less compute)
bubblesort - inefficient classic bubble sort

New options:

--c-state - show C state residency at end of stress testing
--pause N - pause N seconds between each stressor invocation to allow for system to cool
,
New stressor classes:
fp, integer, ipc (inter-process communication), sort and vector

Detailed changelog:

[Aboorva Devarajan]

  • core-target-clone: fix power9 target build issue

[Colin Ian King]

  • Makefile: bump version
  • stress-ng: add vector class to --class option
  • stress-dekker: fix failures for out-of-order processors
  • stress-ng: fix -x option for options with - in the name
  • stress-syscall: rename sigset to sigmask to avoid gcc-4.4 variable
    shadowing warning
  • stress-syscall: rename clock to clock_id to avoid gcc-4.4 variable
    shadowing warning
  • stress-shm-sysv: rename syscall to syscall_name to avoid gcc-4.4
    variable shadowing warning
  • stress-jpeg: rename func param time to whence to clean up gcc-4.4
    name shadowing warning
  • stress-fd-race: rename dirfd to dir_fd to avoid gcc-4.4 variable
    shadowing warning
  • stress-enosys: rename func param random to do_random to avoid name
    shadowing gcc 4.4 warning
  • core-shim: rename dirfd to dir_fd to avoid gcc-4.4 variable shadowing
    warning
  • README.md: move kernel issue to correct place in README file
  • README.md: add another kernel issue to bug list for 2024
  • stress-module: only increment bogo counter on successful module load
  • stress-module: check for .ko module name ending
  • stress-module: update module search failure message for compressed kos
  • stress-module: ignore compressed .xz modules
  • stress-module: try several test modules rather than just test_module
  • core-shim: return ret instread of errno in shim_posix_fallocate
  • stress-zlib: reduce checksum to 32 bits for faster compute
  • core-shim: remove unused variable ret
  • core-shim: make shim_posix_fallocate return error code on failure
  • core-shim: check ret rather than errno on posix_fallocate failure
  • core-shim: cater for EOPNOTSUPP in posix_fallocate failure
  • stress-lsm: move ctx and ctx_end to inner loop scope
  • stress-sigurg: clear bogo-op counter flag if child is killed during
    bogo inc
  • README.md: Add another research paper link
  • Manual: fix spelling mistake "subraction" -> "subtraction"
  • test/test-libgbm.c: replace whitespace with tabs
  • stress-dirdeep: remove debug printf statement
  • stress-personality: check for no personalities using supported
    callback
  • stress-efivar: remove need for packed attribute
  • stress-get: exercise getlogin at end of stressor loop
  • stress-uprobe: report why uprobe cannot be run with static builds
  • stress-get: remove redundant #ifdef
  • stress-bind-mount: check for multiple stat failures on bind mounted
    directory
  • stress-efivar: fix access checks and check on attribute
  • stress-efivar: specify efi var fields in terms of uint8_t types
  • README.md: add another kernel bug found with stress-ng
  • stress-inotify: remove const from helper void arg
  • core-cpuidle: ensure there is plenty of space for filename snprintf
    formatting
  • core-shim: only call stime for glibc < 2.31
  • stress-lsearch: clean up some more pointer constification warnings
  • stress-lsearch: clean up some constification warnings
  • stress-fibsearch: remove re-declaration of pointer ptr
  • stress-bsearch: clean up some constification warnings
  • stress-binderfs: stress_binderfs_supported: return -1 for non-linux
    builds
  • stress-zlib: correct comment for function stress_rand_data_inc16
  • stress-mergesort: minor optimization re-ordering tweaks
  • stress-heapsort: use copy and swap helper for different data sizes
  • stress-sigq: add sigq to IPC class of stressors
  • stress-*: add ipc (inter process communication) class
  • stress-misaligned: use CLOCK_PROCESS_CPUTIME_ID for timer
  • core-time: stress_duration_to_str: add flag report_secs to always
    report secs
  • stess-cgroup: add mount EBUSY retry. Also add mount/umount retry debug
  • core-config-check: fix memory load on string lowstr
  • stress-lockmix: add a mixed file locking stressor
  • core-config-check: warn if the run environment is not suitable for
    stress-ng
  • Manual: Fix grammar on --log-lockless description
  • *.c: remove trailing tabs and white space from ends of lines
  • stress-lsearch: use simpler check to speed up comparisons
  • stress-fibsearch: make array indexes ssize_t for potential -ve ranges
  • stress-bsearch: rename bsearch-ternary to ternary in method option
  • stress-bsearch: add a 3-way ternary search method
  • stress-lsearch: add a key sentinel search method
  • Makefile: add fibsearch (Fibonacci search) stessor
  • stress-hash, stress-tree: add stressors to search class
  • stress-bubblesort: rename bubblesort method to bubblesort-fast
  • stress-sort*: add sort class
  • stress-bubblesort: add bubblesort stressor
  • core-cpuidle: name busy state C0 for x86 and BUSY for other arches
  • README.md: add C-state residency example
  • stress-vm: stress_vm_mod: replace while loop with two if statements
  • core-cpuidle: add C-state measurements with --c-state option
  • kernel-coverage: add umount sanity check on umount failures
  • stress-*: add integer and fp classes
  • stress-vec*: remove CLASS_CPU_CACHE flag
  • stress-fd-race: add helper to close fds in different orders
  • stress-close: exercise flag field with close_range call
  • stress-inotify: remove empty line
  • stress-oom-pipe: fix valid fd check before closing the fd
  • stress-tee: ensure fd is closed on error exit path
  • stress-poll: use correct array index variable for closing fds
  • stress-link: exercise pathconf on oldpath instead of testpath
  • stress-session: close pipe fds on error exit path
  • stress-shm: close pipe fds on error exit path
  • stress-vm-segv: close pipe fds on error exit paths
  • stress-key: replace vararg system call with 5 arg system call
  • stress-fd-race: fix error return paths not cleaning up allocated
    resources
  • stress-close: clean up some file descriptor handling
  • stress-tee: fix error handling closes on pipe file descriptors
  • stress-x86syscall: initialize time1, time2 to zero
  • stress-workload: add check for non-null threads array
  • stress-sysbadaddr: close pipe fds if pipe succeeds
  • stress-inotify: avoid double close on fd
  • stress-syscall: fix fd leaks on pipes on tee syscall stress case
  • stress-daemon: clean up file descriptor closing on error return paths
  • core-helper: fix pipe file descriptor leak on error path
  • core-asm-ret: constify stress_ret_opcode
  • Makefile: add -fivopts -fmodulo-sched optimization options
  • core-target-clones: add power10 cpu support
  • Makefile: remove incorrect scan-build basename check
  • stress-vma: fix void * pointer arithmetic warning on data + offset
  • stress-*: exercise pathconf options on various files
  • stress-get: exercise getlogin since this is a syscall on *BSD systems
  • core-lock: use a single mapped page for all shared locks
  • core-lock: put lock functions into per lock type struct
  • README.md: add another reference link
  • stress-waitcpu: only use umwait for x86-64 and LP64 (non-x32 builds)
  • core-helper: rename stress_x86_smi_readmsr64 to stress_x86_readmsr64
  • core-lock: provide created locks a name to track locks
  • core-lock: add lock type into VMA anon name
  • stress-numa: mmap all allocations and name the anon VMAs
  • stress-numa: add simple page data checking
  • stress-ng: remove "signal" from signal termination message
  • stress-opcode: set child signal handlers before stress_shared_readonly
  • stress-*: add some more pointer constifications
  • stress-swap: produce more meaningful swap out metrics
  • stress-misaligned: replace "got stuck" with "not fully tested"
  • stress-resources: add stress_resources_access to access various
    resources
  • stress-utime: exercise a wide range of huge times with utime
  • Manual: add missing --ipsec-mb-feature option noaesni
  • stress-cyclic: reduce spamming of the same error message with many
    instances
  • stress-binderfs: check in init stage if binderfs mounts are supported
  • stress-intmath: fix incorrect class flags, should be CLASS_CPU |
    CLASS_COMPUTE
  • stress-ng: make g_opt_pause unsigned int and add pause time in
    progress time
  • core-log: increase per line log buffer to 8K
  • stress-ng: add pause option to add pauses between each stressor
    invocation
  • stress-ng: show settings even if no stressors are run
  • core-rapl: align stats with the tz stats
  • stress-intmath: add signed integer math + - * % operations
  • stress-waitcpu: replace ;; with ;
  • stress-prefetch: replace ;; with ;
  • stress-chattr: replace ;; with ;
  • core-vmstat: replace ;; with ;

V0.18.02

31 Jul 12:12
Compare
Choose a tag to compare

stress-ng V0.18.02 "punchy process pounder"

New stressors:

  • bitops - integer bit operations stressor (from Standford bithacks and Hacker's Delight)
  • spinmem: spin memory access stressor (for memory contention)
  • fd-race: file descriptor open/access/close race stressor
  • sigill - SIGILL signal stressor
  • sigvtalrm - SIGVTALRM signal stressor
  • sigurg - SIGURG signal stressor

New options:

  • rapl - show Intel x86 power utilization using RAPL (Running Average Power Limit)
  • raplstat - show periodic Intel x86 power utilization using RAPL

Detailed changelog:

[Chunyu Hu]

  • stress-hrtimers: follow sched setting

[Myd Xia]

  • stress-ng: add qnx support

[Colin Ian King]

  • README.md: remove extraneous spaces in examples
  • README.md: Add RAPL power example
  • README.md: add a I/O permuted stressor example
  • stress-swap: clean up error messages when using stress_get_fs_type
  • core-helper: add ZFS magic
  • Add ELISA presentation "Improved system stressing with stress-ng"
  • Manual: fix spelling mistake "desciptors" -> "descriptors"
  • stress-physpage: fix zero fd check on close
  • stress-chattr: initialize IOC_GETFLAGS arg before calling ioctl
  • stress-sigurg: only use O_ASYNC if it is defined
  • stress-pty: include sys/ioctl.h, cleans up cygwin build warning
  • stress-sockfd: move rc and nbytes declaration into a code block
  • stress-sockfd: add #ifdef around FIONREAD ioctl
  • stress-physpage: use stress_mmap_populate for MAP_POPULATE mmaps
  • stress-zero: cast ptr to clean up mmap warnings
  • stress-sysfs: cast ptr to clean up mmap warnings
  • stress-procfs: cast ptr to clean up mmap warnings
  • stress-physpage: cast ptr to clean up mmap warnings
  • stress-munmap: cast mmap return to munmap_context_t * to clean up pedantic warning
  • stress-efivar: cast efi_var to void * for mmap and munmap
  • stress-fork: cast unmap_start to void * for munmap calls
  • stress-dev-shm: cast addr for mmap, mummap and msync calls
  • core-cpuidle: clean up pedantic warning with gcc 10.3.0
  • core-sched: remove unused function stress_set_deadline_sched
  • Manual: add missing deadline cyclic-policy option, rename ff to fifo
  • stress-cyclic: clear up pedantic warnings when no cyclic methods are available
  • stress-cyclic: clear up pedantic warnings when no scheduling policies are available
  • stress-logmath: fix build issue on Nixos, need lvalue
  • stress-expmath: fix build issue on Nixos, need lvalue
  • stress-sigurg: ignore return from F_SETFD fcntl call
  • stress-gpu: trim newline off infoLog messages
  • stress-open: report number of fds to be used after they have been adjusted
  • stress-open: shrink number of fds if allocation is too large
  • stress-oom-pipe: shrink number of fds if allocation is too large
  • stress-sockfd: limit to 1024 * 1024 file descriptors
  • stress-fd-race: limit to 1024 * 1024 file descriptors
  • stress-userfaultfd: add missing HAVE_POLL_H and HAVE_POLL checks
  • stress-sysbadaddr: add missing HAVE_POLL for bad_poll function
  • stress-sigurg: remove redundant variable msgs
  • stress-fd-race: remove unused variable writes
  • stress-mq: only declare fds if poll() is available
  • Makefile: disable smi stressor for regression tests
  • stress-signest: add missing SIGURG signal
  • stress-shm: retry shm mmap without MAP_ANONYMOUS if EINVAL is returned
  • stress-fractal: cast info.data to void * for munmap call
  • stress-ng: cast mmap return to stress_pid_t *
  • stress-fd-race: move stress_fd_race_context_t declaration
  • stress-fd-race: add build time check for pthread barrier support
  • stress-bad-alt-stack: use zero_stack instead of bad_stack
  • stress-ng: use localtime for completion times
  • stress-ng: report permuted stressors and show progress
  • stress-sigurg: add a SIGURG out-of-band socket signal stressor
  • stress-sigpipe: initialize data before loop
  • stress-sigpipe: remove need for a parent/child mechanism
  • stress-sigill: add a SIGILL illegal instruction signal stressor
  • stress-sigvtalrm: fix help information
  • stress-*: add CLASS_SIGNAL class flags to stressors that generate signal loads
  • stress-sigvtalrm: use user time as run time count check not wallclock time
  • stress-sigvtalrm: sanity check signal count after 1 second of run time
  • stress-sigvtalrm: add SIGVTALRM signal stressor
  • stress-*: add built time check for poll() system call
  • stress-fd-race: randomize syscalls on fd's
  • README.md: add another link to a research paper
  • stress-ng: sanity check if excluded stressor name is valid
  • README.md: update number of stressors
  • stress-fd-race: add ignore list of files not to exercise
  • core-numa: ensure pointer str is initialized to NULL
  • stress-fd-race: add a new stressor to race file descriptor access and closing
  • core-lock: use #if/#elif rather than many #if/#endif sequences
  • core-ftrace: make char * pointer num const
  • stress-h*: add syncwait proc state for --sync-start state waits
  • stress-*: add syncwait proc state for --sync-start state waits
  • core-ignite-cpu: remove unused field cur_freq from struct stress_cpu_setting_t
  • core-cpu-cache: rename index to idx to avoid name shadowing on index()
  • core-affinity: only set cpu affinity if CPU affinity bits are set
  • core-time: stress_duration_to_str: emit 0 secs if no time has been formatted
  • stress-brk: add sanity check for sbrk always returning out of memory
  • stress-spinmem: add CLASS_CPU_CACHE to class flags
  • stress-ramfs: abort early on mount/umount EPERM errors
  • stress-ramfs: cater for EPERM on containerized umount failure
  • stress-io-uring: cater for EPERM on containerized io-uring setup permission denied
  • README.md: make packages list more compact
  • stress-umount: cater for EPERM on containerized mount failure
  • stress-reboot: cater for EPERM on containerized reboot call failure
  • stress-ramfs: cater for EPERM on containerized mount failure
  • stress-netlink-proc: fix skipped rc code, it should be EXIT_NO_RESOURCE
  • stress-numa: skip stressor on EPERM on get_mempolicy
  • stress-netlink-proc: skip stressor on EPERM on bind (containerized)
  • stress-key: skip stressor on EPERM on add_key in container
  • stress-fp-error: relax fp pedantic error checking for musl-gcc builds
  • core-helper: fix macro typo HAVE_COMPILER_MUSC -> HAVE_COMPILER_MUSL
  • stress-binderfs: cater for EPERM on containerized mount failure
  • stress-cgroup: cater for EPERM on containerized mount failure
  • core-thrmal-zone: constify dirent pointer entry
  • core-thrash: constify dirent pointer d
  • core-mounts: constify pointer mnt
  • core-resources: stress_resources_free: constify args parameter
  • core-rapl: constify pointer entry
  • core-numa: constify pointer str
  • core-process: constify pointer ptr
  • core-module: constify pointer l
  • core-cpu-cache: only define type stress_generic_map_t for Linux builds
  • core-cpuidle: constify pointers cpu_d and cpuidle_d
  • stress-rdrand: fix build issues where HAVE_SEED_CAPABILITY is not defined
  • core-parse-opts: add stress_get_{int|uint} prototypes
  • stress-sigabrt: remove volatile from struct pointer sigabrt_info
  • README.md: Add Linux Foundation 2024 ELISA presentation link
  • core-madvise: use unsigned int for major and minor
  • core-perf: add maple_tree/ma_op event
  • stress-bind-mount: skip stressor we don't have access
  • stress-waitcpu: Fix umwait0 and umwait1
  • stress-*: name mmap'd regions to help debugging
  • core-helper: add libc version to yaml output
  • stress-ng: remove trailing tab
  • core-lock: name anonymous mappings
  • stress-ng: name anonymous mappings
  • core-*: name anonymous mappings
  • stress-vma: use stress_set_vma_anon_name to set anon vma name
  • stress-vma: add more prctl macro build time checks
  • Manual: update vma stressor description, 32 pages now being exercised
  • stress-vma: name anonymous pages with prctl
  • stress-vma: move stress_vma_continue_flag to enable mapped regions
  • stress-ng: remove empty lines, reformat a comment block
  • stress-ng: inline helper function stress_get_num_stressors
  • stress-ng: inline helper function stress_append_stressor
  • stress-ng: munge stessor names using stress_readable_name helper
  • stress-ng stress_run_sequential: remove continue if statement
  • stress-jpeg: remove debug
  • stress-jpeg: fix overflow with brown noise generator
  • stress-ng: stress_exclude_unsupported: add check for null stressor->info
  • stress-spinmem: new spin write/read parent/child stressor
  • stress-ng: add stress_readable_name to munge stressor names into a readable form
  • stress-ng: remove stressor id, it's now deprecated
  • stress-ng: stress_exclude_unsupported: match stressors by address and not id
  • stress-ng: rework if (ss->ignore.run) comparisons
  • stress-ng: remove stressor_find_by_name
  • stress-ng: remove need to call stressor_find_by_id to find stressor
  • stress-netlink-task: add static analysis sanity check on nlmsgbuf_len
  • stress-opcode: check for small text lens before proceeding
  • stress-signess: use STRESS_BIT_ULL for bitmask setting (part 2)
  • bash-completion: refresh with new stressor options
  • stress-chroot: add missing ( ) around && errno expressions
  • stress-ng: fix SIGTERM on parent causing child to return bogus EXIT_SIGNALED
  • stress-sock: set starting port to 2000
  • stress-*: use globally defined MIN_PORT, MAX_PORT and cater for port wrap-around
  • core*: stress-*: Fix various spelling mistakes and typos
  • stress-usersyscall: Fix spelling mistake "syscallls" -> "syscalls"
  • stress-chroot: allow EINVAL and ENAMETOOLONG for Haiku chroot syscall
  • stress-madvise: add missing help in opts for unsupported builds
  • stress-cache: make cache_flags no...
Read more

V0.18.01

03 Jul 18:12
Compare
Choose a tag to compare

stress-ng V0.18.01 "synchronized synthetic stressor"

New stressors:

  • --min-nanosleep to measure minimum time nanosleep will sleep

New options:

  • --sync-start to synchronize the start of stressing with invoked stressor instances
  • --mmapfork-bytes to specify mmap size
  • --yield-sched to specify scheduler type (deadline | idle | fifo | other | batch | rr)
  • --pci-dev option to specify a specific PCI device to exercise

Detailed changelog:

[Daniel Andriesse]

  • stress-vecwide: fix verify option by setting results vector res

[Po-Hsu Lin]

  • stress-cache: check RISCV_HWPROBE_EXT_ZICBOZ support for
    stress_cache_bzero

[Sergey Matyukevich]

  • mmapfork: add --mmapfork-bytes option to specify mmap size

[Colin Ian King]

  • Makefile: bump version
  • stress-ng: cast s_pids to void * in munmap to clear up OpenHipster build warning
  • stress-fsize: reduce scope of variable offset
  • stress-pci: reduce scope of i and n_devs
  • stress-landlock: reduce scope of ruleset_fd
  • stress-cgroup: reduce scope of array values and make it static const
  • stress-cache: reduce scope of some variables
  • stress-munmap: add sscanf string size limit to avoid potential buffer overflows
  • core-thermal-zone: use PRIu32 format specifier for uint32_t type
  • core-madvise: add sscanf string size limit to avoid potential buffer overflows
  • stress-chroot: just report chroot escapes with instance 0
  • stress-ng: make stress_pid_t state flag 8 bits
  • stress-kvm: add early /dev/kvm open permission checking
  • stress-fractal: report co-ordinates as (xmin, ymin) .. (xmax, ymax)
  • stress-ng: comment the stress_pid_t helper functions
  • stress-ng: add atomic load/store helpers for stress_pid_t state
  • core-shared-heap: increase initial size of shared heap
  • stress-ng: always send a SIGCONT to a waiting process
  • stress-prio-inv: indicate a force killed bogo op-counter state when child exits
  • stress-ng: remove stress_sync_start_cont, and remove debug
  • stress-open: don't populate mmap'd fd array, it may not be all used
  • stress-ng: stress_sync_start_cont_list: check against number of pids in list
  • stress-ng: stress_sync_start_cont_list: take into account finished stressors
  • stress-timerfd: configure timer after sync start has completed
  • stress-ng: remove unused variable waiting
  • stress-ng: add delay while waiting for stressors to start in loop
  • stress-timer: configure timer after sync start has completed
  • stress-itimer: configure timer after sync start has completed
  • stress-munmap: fix incorrect clz where size_t is not long long
  • stress-min-nanosleep: fix incorrect clz where size_t is not long long
  • core-thermal-zone: clean up formatting of multiply tz names
  • stress-goto: reduce optimization level for clang
  • stress-yield: fix build for various non-linux systems
  • stress-pci: move stress_set_pci_dev to support all arches
  • stress-min-nanosleep: provide unknown sched name
  • stress-min-nanosleep: fix build for various non-linux systems
  • core-ops: forgot to commit the io-uring-rand option
  • io-uring: add --io-uring-rand option for randomized io-uring ops
  • stress-io-uring: reduce memory impact for smaller memory systems
  • stress-*: remove trailing whitespaces
  • Add --sync-start option
  • README.md: add 4 more kernel issues found with stress-ng
  • stress-min-nanosleep: report scheduler name
  • stress-cpu: minor code clean-ups
  • README.md: update contributors name list
  • stress-cpu: matrixprod: align matrices
  • stress-cpu: idct: re-factor, move some calculations out of loop
  • stress-cpu: fft: align data and pass as restrict pointers
  • stress-min-nanosleep: use the more optimal log2 function
  • stress-sleep: fix expected C state delay, fix typo for selects message
  • stress-min-nanosleep: report shorted nanosleep measurement
  • stress-min-nanosleep: add check for short nanosleeps
  • README.md: add Sergey Matyukevich to contributors list
  • Manual: add missing --mmapfork-bytes manual option
  • stress-min-nanosleep: add stressor that measures minimum nanosleep delay times
  • stress-*: pass the number of stressor instances into the stressor init callback
  • core-time: check for CLOCK_REALTIME when using it
  • stress-sleep: use monotonic clock and stress_time_now() clocks for time measurement
  • stress-sleep: fix typo "to" -> "took"
  • stress-yield: add --yield-sched scheduler options
  • stress-*: use core-sched.h to define HAVE_SCHED_{GET|SET}_ATTR macros
  • core-sched: define HAVE_SCHED_GETATTR and HAVE_SCHED_SETATTR
  • README.md: add one more research paper that references stress-ng
  • stress-workload: use stress_sched_types for scheduler type information
  • stress-schedpolicy: use stress_sched_types for scheduler type information
  • stress-schedmix: use stress_sched_types for scheduler type information
  • core-sched: allow stress_sched_types to be in global scope
  • stress-monte-carlo: print monte-carlo computations as debug
  • stress-ping-sock: add pre-run check and explain why it may fail with EPERM
  • stress-ng: report stressor name in munged format, replace _ with -
  • lib: remove build dependency on libgcrypt20
  • stress-workload: make c static since it's used in pthread contexts
  • stress-pci: Add a new --pci-dev option to specify the pci device
  • stress-shellsort: remove empty line
  • stress-pci: use strcmp on dentry name for sort ordering
  • stress-io-uring: use O_DIRECT when it is available on files

V0.18.00

06 Jun 08:49
Compare
Choose a tag to compare

Stress-ng Release V0.18.00 "systematic system smasher"

New stressors:

  • mseal Linux 6.10 mseal() system call stressor
  • mtx ISO C mutex stressor
  • besselmath libm Bessel function stressor
  • insertionsort classic O(N^2) insertion sort stressor

New options:

  • --sockfd-reuse to force reuse of socket file descriptors

Detailed changelog:
[Fabrice Fontaine]

  • core-sched.c: fix uclibc-ng build
  • stress-sock.c: fix build without SO_ZEROCOPY

[Hsieh-Tseng Shen]

  • stress-cache: add stress_cache_bzero() to support cache-based bzero
  • core-asm-riscv.h: support riscv zicboz ext cbo.zero instruction

[John Kacur]

  • stress-ng: stress-stream: Fix use of uninitialized variable

[Po-Hsu Lin]

  • core-ops: fix --logmath-ops option
  • core-ops: fix --binderfs-ops option

[Colin Ian King]

  • stress-mincore: cater for mincore on NULL returning ENOMEM on kfreebsd
    systems
  • stress-vm-segv: only use mprotect if system call is supported
  • stress-mseal: only use madvise if system call is supported
  • README.md: add two more research papers that reference stress-ng
  • stress-cache: add STRESS_ARCH_RISCV check and voidify func args for
    non-RISC-V
  • stress-flock: voidify i for non-linux builds
  • stress-af-alg: add more verification when using --verify
  • README.md: add another research paper citation
  • Manual: add a couple more stress-ng examples
  • stress-vm-segv: don't unmap self for OS X
  • core-lock: use stress_asm_loong64_dbar for loong64 relax spin lock
    delay
  • stress-urandom: ignore ENOSYS system call returns
  • stress-sigsegv: allow BUS_ADRERR for bus error codes
  • stress-fcntl: add Linux 6.10 fcntl command F_DUPFD_QUERY, improve
    checking
  • stress-cache: remove extraneous {
  • stress-cache: remove unused cache flags more succinctly
  • core-lock: disable atomic spin locks for ARM
  • stress-af-alg: replace spaces with tab in indentation
  • core-resources: allocate mutexes for each resource array loop
  • core-resources: use ISO C mtx mutex resources
  • stress-af-alg: add forced abort after 5 seconds of alarms
  • stress-af-alg: add checks for EINTR on recv/send calls
  • core-mincore: add MADV_POPULATE_WRITE to madvise flags
  • core-vecmath: add check for 32 bit PPC to work around build issue
  • core-lock: only perform backoff for fast CPU relax pauses
  • README.md: add another kernel issue found by stress-ng
  • stress-efivar: ensure stress_efi_var_t is aligned to clean up build
    warning
  • core-lock: remove ARM yield, fallback to shim_sched_yield
  • core-cpu-cache: fix bitmask of cache coherency line size
  • core-lock: fix missing spinlock destroy when removing a spinlock
  • Makefile: allow COVERITY=1 to disable macros that confuse cov builds
  • stress-mseal: cast pointer to uint8_t * to clean up void * pointer
    addition warnings
  • stress-vm-segv: make addr a uint8_t * pointer to simplify pointer
    addition
  • stress-*: rename variable index to avoid name shadowing with lib
    function index
  • stress-sysbadaddr: reduce scope of variable newargv
  • stress-sleep: ensure residency_ns is computed using unsigned long
    multiplication
  • stress-nanosleep: reduce scope of variable i
  • stress-mmaphuge: reduce scope of array filename
  • stress-mmapfiles: reduce scope of variable delta
  • stress-iomix: reduce scope of variable ret
  • stress-fork: reduce scope of variable pid
  • stress-dirname: rename dirname to dirpath to avoid name shadowing
    dirname function
  • stress-dirdeep: constify char * pointer name
  • stress-crypt: reduce scope of string str
  • stress-cgroup: reduce scope of some variables
  • core-config-check: constify static char array path[]
  • stress_rndstr: remove decrement of len in stress_rndstr, make len
    const
  • core-ftrace: constify a few char * pointers
  • stress-sysbadaddr: add mseal()
  • stress-sysinval: add mseal
  • stress-enosys: add mseal system call
  • stress-vm-segv: force stack segv by mprotecting pages to PROT_READ
  • stress-vm-segv: force zero optimization to ensure stackvar is on stack
  • stress-vm-segv: ensure stackvar is written to and read from
  • stress-bad-altstack: fix OpenBSD, add MAP_STACK and don't throw errors
  • stress-vm-segv: unmap stack to force SIGSEGVs in child
  • core-cpu-cache.h: include <stdarg.h> for shim_builtin_prefetch()
  • stress-timerfd: open file_fd before all timer fds are opened
  • stress-mmap: make rc non-clobberable due to longjmp
  • core-shim: force emulation if posix_fallocate returns EINVAL
  • stress-mseal: replace variable fail with boolean keep_running
  • Makefile.config: remove some debug echos
  • stress-mseal: add Linux 6.10 mseal system call exercising stressor
  • Makefile.config: add libgmp when checking libmpfr
  • stress-mutex: remove OpenBSD sleep
  • core-mwc: re-work mwc*modn() using bit masking and removing modulo
    operation
  • stress-vm-segv: remove clflush for OpenBSD as this causes issue
  • stress-mlock: ensure max is not larger than the max number of mappings
  • stress-mutex: fix some potential race issues
  • stress-mutex: NetBSD requires the yield and sleep
  • stress-mutex: use zero usleep instead of yield for NetBSD
  • core-shim: emulate posix_fallocate for FreeBSD
  • stress-sigsegv: remove OpenBSD check now that BUS_OBJERR is used
  • stress-sigsegv: handle SIGBUS code with correct BUS_OBJERR
  • stress-fp-error: relax fp error checks on soft-float builds
  • README.md: add another citiation
  • stress-schedmix: remove trailing space at end of a line
  • core-mwc: remove tab in empty line
  • core-mwc: use stress_get_machine_id to add extra data to seed
  • core-helper: add stress_get_machine_id to get a 64 bit machine id
  • stress-dup: only use O_CLOEXEC if it is defined for dup3 calls
  • stress-tun: cast int value to uint8_t type for PRIu8 format
  • stress-schedmix: ensure all pids in pids array are initialized to -1
  • stress-dev-shm: use correct format strings for unsigned type
  • core-parse-opts: use correct format strings for unsigned types
  • core-ignite-cpu.c: use correct format strings for int types
  • stress-vnni: force -O2 at -Os/-Oz as well
  • core-helper: fix spelling mistake in comment
  • stress-ng.h: increase per-stressor metrics STRESS_MISC_METRICS_MAX
    to 96 for af-alg
  • stress-loadavg: remove system limit of pthreads when reducing
    loadavg-max
  • core-ftrace: show failed open filename in error message
  • stress-besselmath: use double precision for check sum on float bessel
    functions
  • stress-netlink-task: break out of loop on EINTR or EAGAIN sendto
    errors
  • stress-vm: remove redundant assignments to pointer ptr
  • stress-prime: remove redundant assignment to variable rate
  • stress-munmap: fix file descriptor resource leak on error return path
  • stress-af-alg: add some sanity checks on digest and info args
  • stress-fault: ensure buffer is zero'd
  • core-job: zero string txt, keep cppcheck happy
  • clear up pedantic cppcheck warning
  • core-builtin.h: remove long cast workaround macros for Bessel shim
    wrappers
  • core-buildin: fix j*l macros
  • core-lock: uncomment #undefs used for debugging new locks
  • stress-dev: include missing <sys/ioctl.h>
  • stress-ng.h: move #include <sys/times.h> into sources that require it
  • stress-ng.h: move #include <stdarg.h> into sources that require it
  • stress-ng.h: remove #include <sys/file.h>, it was commented out
  • stress-ng.h: move #include <sys/file.h> into sources that require it
  • stress-ng.h: move #include <sys/ioctl.h> into sources that require it
  • core-shim: add __NR_fallocate check for fallocate syscall
  • stress-ng.h: move #include <ctype.h> into sources that require it
  • README.md: add two more kernel improvement references
  • stress-ng: make stress_exclude_unimplemented static
  • stress-ng.h: remove commented out math.h include
  • stress-ng.h: move <math.h> into sources that require it
  • stress-*: add ( ) around expressions
  • core-*: add ( ) around expression
  • core-cpu-cache: fix misplaced )
  • core-parse-opts: use standard seconds in a year and not equinoctial
    seconds
  • core-lock, stress-mtx: add build time checks for mtx_destroy, mtx_init
  • stress-mtx: add mtx_t check and remove need for stack size attr
  • core-lock: add OSI C mtx mutex option for locking
  • stress-mtx: remove includes that are not required
  • core-lock: lock name for sysv semaphore
  • stress-mutex: fix --mutex-procs option
  • stress-mtx: Add new ISO C mtx (mutex) stressor
  • stress-besselmath: add a new Bessel function stressor
  • stress-sockfd: voidify return from stress_socket_fd_send
  • stress-insertionsort: add new insertion sort stressor
  • core-ops: fix --powmath-ops option
  • Manual: update list of classes for the --class option
  • stress-ng: annotate stress_sigalrm_info_t fields and make sigalrm_info
    static
  • stress-ng: add global lock create/destroy helpers
  • stress-ng: fix incorrect name of function in comment
  • stress-sockfd: add new --sockfd-reuse option to re-use file descriptor
  • Manual: add size of the matrix-3d stressor matrix to the documentation
  • Manual: add size of the matrix stressor matrix to the documentation
  • core-ops: fix --expmath-ops option
  • stress-zlib: add metric for the amount of input data that has been
    compressed
  • stress-sigchld: replace debug SIGCHLD stats with metrics
  • stress-seek: add total number of seeks metric
  • stress-rawpkt: move debug packet stats to metrics
  • stress-link: add link create/remove rate metrics
  • stress-key: add successful key add/operation/remove rate as metric
  • stress-icmp-flood: replace sendto % success debug with metrics
  • Makefile: remove empty lines
  • stress-dup: add number of dup calls as a metric...
Read more

V0.17.08

02 May 08:09
Compare
Choose a tag to compare

stress-ng V0.17.08 "consummate cpu crusher"

New stressors:

  • fractal stressor (Naïve concurrent implementations of Mandelbrot and Julia set fractal generators)
  • prime stressor (Prime search using GNU Multiple Precision Arithmetic Library for large integers)
  • unlink stressor (Exercise concurrent racy unlinking of files)

New options:

  • --yield-procs to specify number of child processes per stressor
  • --prime-start N option to specify starting point of search
  • --swap-self option to force self process pages out
  • --fork-pageout option to force pages to be paged out
  • --prime-progress option to periodically show prime finding progress
  • --get-slow-sync option to force get stressor system calls to be called in sync

Important Fixes:

  • Fix page overflow on edge cases of non-libc mergesort
  • Ensure system call and test error failures are fully propagated to error status at end of stressors

Detailed Changelog:

[ruihongw]

  • fix spelling of lsm_list_modules in Makefile.config

[Yiwei Lin]

  • Fix unterminated cpu-stress if non 0% or 100% load

[Colin Ian King]

  • Makefile: bump version
  • stress-epoll: fix missing space after comma in error messages
  • README.md: add another bug found by stress-ng
  • stress-sigfpe: report SIGILL trap information when --verify is used
  • stress-sigfpe: handle unexpected SIGILL signals
  • stress-rtc: silently ignore RTC sys read EINVAL errors
  • stress-rtc: don't fail on ENOENT errors
  • stress-tsearch: remove double comma
  • stress-rtc: fix error handling, don't fail on EINTR or EPERM
  • stress-mergesort: remove MAP_32BIT
  • stress-mergesort: fix out of bounds copy
  • stress-unlink: use shim'd versions of fsync and fdatasync
  • stress-swap: ensure opt_set_funcs and stress_set_swap_self are
    declared for all builds
  • stress-io: fix build issues when HAVE_SYNCFS is not defined
  • core-out-of-memory: move #define of WAIT_TIMEOUT to fix non-linux
    builds
  • stress-judy: clean up variable shadowing warning
  • stress*: Add compute to the --class option for high compute stressors
  • stress-prime: fix spelling mistakes in comments
  • stress-factal: fix spelling mistake of Mandelbrot
  • stress-ng: fix --permute with checksum verification enabled
  • stress-fractal: minor tweaks to reduce front end delays and improve
    core utilization
  • stress*: Add search to the --class option for searching stressors
  • Manual: remove duplicated comma
  • stress-fault: fix fd leak on error path
  • stress-fractal: add Mandelbrot and Julia set fractal stressor.
  • stress-*: clean up errno handling
  • core-ftrace: remove redundant initialization of pointer num
  • core-klog: remove redundant initialization of pointer msg
  • stress-yield: constify variable residual
  • Manual: waitcpu: add more per-processor notes for waiting
    instructions
  • stress-yield: add --yield-procs option, specify child processes per
    stressor
  • stress-forkheavy: fix typo in comments forke -> fork
  • Makefile: improve toolchain detection, fixes scan-build builds
  • stress-pidfd: ensure return code in rc is returned to parent
  • stress-mq: ensure child rc status is returned to parent
  • stress-judy: re-work rc status so the default is EXIT_FAILURE
  • stress-hsearch: ensure rc is set to EXIT_SUCCESS for success path
  • stress-file-ioctl: assign rc to EXIT_NOT_IMPLEMENTED and not ret
  • stress-close: remove redundant assignments to rc
  • core-mwc: remove unused 32 bit mwc implementation
  • Makefile.config: fix float checks, need LIB_MATH not LIB_M
  • stress-prime: add --prime-start N option to specify starting point
    of search
  • stress-fork: add #ifdef check around MADV_PAGEOUT
  • stress-swap: add --swap-self option to force self process pages out
  • stress-fork: make --fork-pageout more aggressive, do all maps
  • stress-prime: remove empty line
  • stress-fork: add --fork-pageout option to force pages to be paged out
  • stress-prime: add hourly prime rate in --prime-progress output
  • README.md: update contributors list
  • stress-prime: move variables and a function to clean up build warning
  • stress-enosys: fix typo: SYS_lsm_modules -> SYS_lsm_list_modules
  • Manual: clarify the time between each prime progress update
  • core-builtin: fix macros and shims
  • Manual: add new --primes-progress option, fix prime-ops name
  • core-log: don't report timestamp if localtime_r does not exist
  • stress-prime: add --prime-progress option to periodically show prime
    finding progress
  • stress-prime: add long integer prime computations stressor
  • stress-factor: fix short description of stressor
  • stress-unlink: add end of test check in link phase, add missing
    deinit state
  • stress-unlink: make file syncs less frequent
  • core-config-check: minor re-phrasing of scaling governors note
  • stress-unlink: remove some whitespaces
  • stress-unlink: use random open flags
  • stress-unlink: add occasional fd sync'ing and data syncing
  • Manual: correct the --vm-bytes description.
  • stress-unlink: add new stressor to exercise concurrent racing unlink
    calls
  • stress-dev: add a few more HID specific ioctls
  • stress-dev: add linux frame buffer /dev/fb* ioctl exercising
  • core-version.h: wrap macro parameters with ( )
  • core-io-priority: wrap macro parameters with ( )
  • core-builtin: wrap macro parameters with ( ), align macros
  • Manual: replace ',' with '|' in the --prio-inv-policy option
  • Manual: replace ',' with '|' in --fd-fork-file option
  • core-builtin: fix brackets on shim'd helpers shim_ccosl and
    shim_csinl
  • stress-get: add --get-slow-sync option to force get system calls to
    be in sync
  • stress-zlib: use shim wrapped sin function
  • stress-remap: remove empty line
  • stress-monte-carlo: use shim'd math functions
  • core-builtin: add hyperbolic sin, cos float and double shim wrappers
  • stress-*: constify variables
  • core-helper: remove duplicated null check on gpu_freq
  • stress-*: ensure EXIT_FAILURE is returned on failures
  • stress-sockdiag: rename rc to ret and ret to rc
  • stress-cacheline: ensure EXIT_FAILURE is returned on data corruption
  • stress-bsearch: ensure EXIT_FAILURE is returned on data mismatches
  • stress-ng: set success flag to false on EXIT_SIGNALED exits
  • stress-bitonicsort: ensure EXIT_FAILURE is returned on data
    mismatches
  • stress-bigheap: ensure EXIT_FAILURE is returned on memory failures
  • stress-affinity: remove space
  • stress-matrix-3d: ensure EXIT_FAILURE is returned on data mismatch
  • stress-matrix: ensure EXIT_FAILURE is returned on data mismatch
  • stress-ng: fix missing FAILED flag increment for EXIT_SIGNALED state
  • stress-fma: increment b in add231 to force use of fma instruction
  • stress-filename: make static array posix_allowed const
  • stress-acl: make static array stress_acl_tags const
  • stress-workload: add some constifications and UNLIKELY on an if
  • stress-io-uring: improve termination by enabling various flags
  • core-out-of-memory: give at least 2 minutes before giving up waiting
    for OOMable child processes
  • stress-ng: bail out with EXIT_NO_RESOURCE on sched_settings_apply
    call
  • stress-inotify: replace __s32 with int32_t

V0.17.07

04 Apr 22:12
Compare
Choose a tag to compare

stress-ng V0.17.07 "trusty task trasher"

Key Highlights:

  • New powmath stressor (power math functions)
  • New expmath stressor (exponent math functions)
  • New logmath stressor (logarithmic math functions)
  • New LSM stressor (exercise Linux LSM lsm_list_modules and lsm_get_self_attr system calls)
  • New statmount stressor (exercise Linux statmount and listmount system calls)
  • New --fma-libc option to use libc fma functions (if available)
  • New --memhotplug-mmap option to exercising mmap/munap during memory hotplugging
  • New walking flush vm stressor method to walk through memory doing writes followed by cache flushes
  • New --mmap-stressful option to enable all --mmap options to make mmap stressor more stressful

Fixes:

  • Porting fixes to support modern Solaris systems
  • Improve vecshuf performance (regression due to using -O3 on gcc on vec ops)

Detailed changelog:

stress-ng (0.17.07-1) unstable; urgency=medium

[Stian Onarheim]

  • core-stressors.h: Sort the stressor list

[Amit Singh Tomar]

  • stress-vm: fix the stress_vm_check argument name

[Erik Stahlman]

  • Remove write potentially outside of buffer

[Colin Ian King]

  • Makefile: bump version
  • Manual: fix table T{ T} around --eigen-method add-double
  • core-shared-heap: double size of shared heap allocation slab
  • core-helper: move gpu_freq null check to start of function
    stress_get_gpu_freq_mhz
  • stress-zlib: negative read size check
  • core-helper: move null ptr checks earlier in stress_get_meminfo
  • core-helper: add #else path in stress_get_load_avg
  • stress-fma: voidify return from stress_get_setting call
  • core-helper: add endianness information
  • stress-pty: break out of loop if EINTR occurs on pty open
  • stress-access: set errno to 0 before access calls
  • stress-filename: ignore ENOTSUP failures
  • stress-msyncmany: break out of test loop if failed more than 5 times
  • stress-filename: add ENOSUP error check for Solaris
  • stress-clock: ignore EINTR for clock_nanosleep for Solaris
  • stress-clock: ignore EINTR for clock_gettime for Solaris
  • Add build check and use <sys/mkdev.h> for makedev() macro
  • Makefile: enable compile/link garbage collection when GARBAGE_COLLECT
    is set to 1
  • stress-powmath: increase precision for float tests sum and result to
    double
  • stress-logmath: increase precision for float tests sum and result to
    double
  • stress-expmath: increase precision for float tests sum and result to
    double
  • stress-fma: munmap pfma and not fma
  • stress-x86syscall: make function wrap_dummy static
  • core-helper: make function stress_fs_magic_to_name static
  • stress-powmath: compare floating point values using difference and
    precision
  • stress-logmath: compare floating point values using difference and
    precision
  • stress-expmath: compare floating point values using difference and
    precision
  • stress-enosys: fix system call name __NR_lsm_list_modules
  • README.md: update contributor list
  • Makefile.config: break functions into 1 line entries and sort them
  • Makefile.config: break types into 1 line entries and sort them
  • Makefile.config: break cpufeatures into 1 line entries and sort them
  • Makefile.config: rename *_WCHAR to *_WCHAR_H to match header naming
  • Makefile.config: break headers into 1 line entries and sort them
  • core-helper: fix error return code, should be EINVAL
  • stress-powmath: remove redundant cast on sum addition
  • stress-expmath: remove redundant cast on sum addition
  • stress-logmath: remove redundant cast on sum addition
  • stress-cgroup: add missing wait for each fork'd child
  • core-helper: make stress_fs_magic_to_name static
  • core-time: manually inline stress_timespec_to_double into code
  • core-perf: make stress_perf_stat_succeeded static
  • stress-x86syscall: remove dummy_x86syscalls
  • Makefile: add linker garbage collection to remove unreferenced
    sections
  • core-helper: add some argument sanity checking
  • stress-syscall: add maximum system call time in nanoseconds
  • stress-syscall: add lsm_list_modules and lsm_get_self_attr system
    calls
  • stress-enosys: add lsm_list_modules and lsm_get_self_attr system calls
  • stress-powmath: add hypotenuse functions
  • stress-fma: disable FP_FAST_FMA, FP_FAST_FMAF for now
  • stress-mathlog: add logb, logbf and logbl exponent get libc functions
  • stress-fma: add the --fma-libc option to use libc fma functions
  • README.md: update number of tests
  • stress-powmath: add power maths function exercising
  • stress-vecshuf: for x86, reduce optimization levels to avoid STLF
  • stress-vnni: add build time check for target clone avxvnni
  • stress-memhotplug: make variable max non-clobberable by longjmp
  • core-target-clones: remove need for gcc version check
  • stress-vecshuf: remove OPTIMIZE3 setting
  • stress-expmath: add exponential maths function exercising
  • README.md: add a couple more paper references
  • stress_vm_walking_flush_data: fix buffer overflow on last 7 bytes
  • README.md: update contributors list
  • stress-logmath: add logarithmic maths function exercising
  • README.md: Add another publication link
  • memhotplug: add --memhotplug-mmap option
  • stress-prio-inv: ensure parent has higher priority than children
  • stress-prio-inv: break kill and wait into separate phases
  • README.md: add missing newline
  • README.md: add some more upstream linux git commit references
  • stress-acl: fix typo in unimplemented_reason string
  • stress-lsm: exercise new LSM system calls lsm_list_modules and
    lsm_get_self_attr
  • core-cpu: remove trainling white space
  • stress-statmount: Add new stressor to exercise statmount and
    listmount system calls
  • stress-file-ioct: exercise FS_IOC_GETFSSYSFSPATH
  • stress-file-ioctl: add FS_IOC_GETFSSYSFSPATH ioctl
  • stress-vm: add walking memory flush stress method
  • core-cpu: add a couple more obscure CPU id strings
  • stress-monte-carlo: add area of a unit squircle
  • kernel-coverage: add --mmap-stressful option
  • stress-malloc: add malloc_usable_size allocation size verification
  • Makefile.config: filter out -Werror from CFLAGS
  • core-perf: remove duplicated "Cgroup Switches" event

V0.17.06

05 Mar 17:16
Compare
Choose a tag to compare

New features:

  • New fd-fork stressor, force copying of tens of thousands of file descriptors on fork() system calls
  • New bitonicsort stressor: sort 32 bit integers using bitonic sort, exercises integer compare, copying/cache/memory.
  • Add more signals in the nested signal signest stressor
  • New --progress option to show --seq stressor progress and expected end of run time
  • Add Arrowlake and Pantherlake CPU support for target clones gcc optimizations
  • Add IRQ tasklet entry/exit events, IPI Raise event, swiotlb event to --perf option
  • Add --crypt-method option to allow crypt stressor to be selected
  • Add --fork-unmap option to fork stressor to force unmapping of shared libs to speed up forks
  • Add --fpunch-bytes option to fpunch stressor to specify fpunch file size
  • Add --vforkmany-bytes option to specify mmap size
  • Add NUMA hit/miss metrics to numa stressor

Fixes:

  • Fix aiol stressor race condition on termination of pending I/Os
  • Fix race on peterson stressor with modern out-of-order execution ARM CPUs

Detailed changelog:

[Hsieh-Tseng Shen]

  • Manual: fix a few typos

[Colin Ian King]

  • Makefile: bump version
  • stress-fd-fork: fix comment for STRESS_FD_DEFAULT
  • stress-fd-fork: fix spelling mistake "discriptors" -> "descriptors"
  • test/test-utime: zero buf
  • test/test/test-pthread-setaffinity-np: zero cpuset
  • stress-fork: voidify pid
  • Makefile.config: ensure all CONFIG_LDFLAGS are passed through
    LIB_ORDER filter
  • stress-sigsegv: ignore SEGV_ACCERR error check on OpenBSD
  • stress-hsearch: typedef ACTION if we don't have native hsearch support
  • Makefile.config: workaround a make issue on Nixos, add empty echo in
    loop
  • stress-aiol: fix interrupted or end of stressing aiol waits with -1
    return
  • stress-peterson: add mfence to fix failures on out-of-order ARM cpus
  • stress-pci: report untested PCI rates as "unknown" rather than 0.00
  • stress-ng.h: only define _FILE_OFFSET_BITS if it is not defined
  • stress-signest: add some more signals, sort them in name order
  • Makefile: add --cache-enable-all for slow-test-all and verify-test-all
  • stress-chroot: fix placement of colon in chroot escape message
  • stress-ng: add a few more percent wiggle room on end of run estimate
  • stress-stream: improve memrate message
  • stress-mq: add note to increase /proc/sys/fs/mqueue/queues_max for
    linux
  • stress-kvm: report KVM kernel API as a debug message
  • stress-dev: add notes about running as root to exercise more devices
  • Makefile: add --progress and remove --verbose from verify-test-all
    and slow-test-all
  • stress-mlock: remove extranous space in debug message
  • stress-fd-fork: report approx number of fds
  • stress-fd-fork: report how many fds were closed
  • core-shim: add warning disabling pragma on extern stime declaration
  • stress-fork: handle 32/64 bit address for 32 bit systems
  • stress-enosys: don't exercise > 32 bits for 32 bit systems
  • stress-exec: only use MAP_STACK if it is defined
  • stress-memfd: remove duplicated declaration of fd
  • stress-cpu-online: remove duplicated declaration of variable cpu
  • stress-monte-carlo: declare stress_mc_supported for HAVE_ARC4RANDOM
  • stress-fork: voidify unused arg fork_unmap for non-linux builds
  • stress-cache: voidify cache related flags and mask
  • stress-dev: swap calloc arguments to the correct way around
  • core-target-clones: add Arrowlake and Pantherlake CPU support
  • Dockerfile: remove kmod and xxhash
  • Dockerfile: add mpfr and judy from community repos
  • stress-sigsegv: methodically exercise reads from all VM address range
  • core-perf: add swiotlb perf event and bump event count up as we are
    running low
  • core-perf: add IRQ tasklet entry/exit metrics
  • core-perf: add IPI Raise event
  • stress-resources: only declare ppid if HAVE_PIDFD_OPEN is defined
  • stress-cpu-online: ensure cpu is initialized
  • core-klog: ignore cpu affinity warnings, these are benign
  • stress-cpu-online: round-robin CPUs for instances 1 and 2
  • stress-cpu-online: always try a different cpu and don't try an
    already offlined cpu
  • stress-ng: Fix net_port_map lock failure
  • stress-cpu: don't check for onlining failure for more than 1 instance
  • stress-bitonic: rename bionicsort_count to bitonic_count
  • stress-shellsort: remove redundant 8 bit sort
  • stress-bitonicsort: Add another sorting stressor
  • stress-cpu-online: run a child process that tries to pin itself to
    offlined CPU
  • core-resouces: open another fd, based on the stdout of parent pid
  • stress-memfd: don't populate memfd mapped pages
  • stress-memfd: exercise each flag per iteration
  • stress-memfd: change memfd_fds to a int32_t
  • stress-memfd: create some filenames just one
  • stress-memfd: use close_range on fds, fall back to loop'd fd close
  • stress-enosys: add 24, 40, 48, 56 bit syscalls
  • stress-malloc: add some SEGV action information
  • stress-fd-fork: add --fd-fork-file option to specify file to dup
  • stress-fd-fork: add metrics on time to open all fds and open 10000
    files per loop
  • stress-fd-fork: add --fd-fork-fds option to specify number of files
    to open
  • Manual: add note about fd-fork bogo-op rate dropping over time
  • Manual: recommend using the maxtrix-3d stressor for cache misses
  • stress-ng: avoid potential division by zero by total_run
  • stress-fd-fork: add a file descriptor copying via fork stressor
  • Manual: Fix typo "maybe" -> "may be"
  • stress-crypt: add --crypt-method to allow encryption method to be
    selected
  • Manual: update crypt stressor with list of all crypt methods used
  • stress-memfd: fix #endif, removed the wrong one
  • stress-memfd: remove debug #ifdef's
  • stress-memfd: make random madvise calls an optional opt-in with
    --memfd-madvise
  • stress-memfd: add in opt-in zap pte test option --memfd-zap-pte
  • stress-memfd: include <linux/memfd.h> for MEMFD huge page flags
  • TODO: add IP_LOCAL_PORT_RANGE
  • stress-ng: add estimated completion time for --progress option
  • stress-ng: add a --progress option to show --sequential run progress
  • stress-fork: disable --fork-unmap if --fork-vm is also enabled
  • stress-fork: remove stress_set_proc_state so libbsd can be removed
  • stress-fork: don't remove readable pages that may be used in dlsym
    searches
  • stress-syscall: only define SHADOW_STACK_SET_TOKEN if it's not defined
  • stress-fork: add --fork-unmap option to force unmapping of shared libs
  • Makefile.config: specify library link ordering
  • stress-clone: force lazy bind libc functions to be bound before clone
    is run
  • stress-stream: fix collapse stream-madvise option to use MADV_COLLAPSE
  • stress-fpunch: add --fpunch-bytes option to specify fpunch file size
  • stress-fork: force lazy bind libc functions to be bound before child
    is run
  • stress-fork: do immediate _exit() call for short lived processes
  • stress-fork: make help clearer on process creation naming
  • core-thrash: no need to snprintf a fixed path name, clean up code
  • stress-fork: align info array to cacheline
  • stress-skiplist: add bounds check on ln2n
  • Manual: fix misalignment of --misaligned-ops option
  • stress-cache: zero buffer before benchmarking read/write rates
  • stress-cache: correctly report the cache flags being used
  • stress-vforkmany: add --vforkmany-bytes option to specify mmap size
  • core-mincore: add missing --page-in OPT_FLAGS_MMAP_MINCORE check
  • stress-vforkmany: use waste_size instead of WASTE_SIZE for mmap'd
    waste region
  • stress-numa: add support for MPOL_WEIGHTED_INTERLEAVE
  • core-helper: use program_invocation_name to get program name
  • stress-monte-carloc: add arc4 cryptographically-secure pseudorandom
    generator
  • stress-numa: add NUMA hit/miss metrics
  • stress-context: make context regions smaller, move stack to new
    mmap'd area

V0.17.05

01 Feb 16:34
Compare
Choose a tag to compare

New Features:

  • New Monte Carlo computational stressor (--monte-carlo)
  • New time warp clock reading and time skew stressor (--time-warp)
  • New Priority Inversion scheduler stressor (--prio-inv)
  • New huge integer factorization stressor (--factor)
  • Extra device ioctl stressing in dev stressor (/dev/kvm, /dev/uinput, /dev/input, /dev/random, /dev/rtc)
  • New NUMA stressor options (--numa-bytes, --numa-shuffle-node, --numa-shuffle-addr)
  • stress-x86syscall: add geteuid, getgid and getuid
  • replace strlcpy with safer strscpy
  • New mmap stressor options (--mmap-write-check, --mmap-madvise, --mmap-mergeable,

Optimizations:

  • AVL tree optimization (~7% faster)
  • Added Link Time Optimization
  • Random number generators: optimize and generalize mwc*modn() functions

Fixes:

  • rseq stressor now uses glibc rseq struct

Detailed Changelog:

[Nikolas Kyx]

  • stress-syscall: fix cmp_test_duration() return value

[Colin Ian King]

  • Makefile: bump version
  • Makefile: add core-asm-loong64.h to HEADERS
  • stress-atomic: make atomic region 64 bytes wide, step through it
  • Manual: update caveat concerning bogo-op rates
  • Manual: update date
  • stress-unshare: silently ignore EACCES returns
  • core-pragma: drop packed gcc version to 9.4
  • Manual: fix a couple of typos
  • stress-prio-inv: fix typo "cheduling" -> "scheduling"
  • core-helper: fix some spelling mistakes
  • stress-landlock: ensure all set bits work in mask and zero
    ruleset_attr before use
  • stress-sysfs: ignore SIGKILL as bad signal
  • stress-numa: fix one more %zu format specifier
  • stress-numa: use %zu format specifier for size_t
  • stress-monte-carlo: don't use getrandom for Solaris, it's very slow
  • core-vmstat: only account for CP_SPIN on OpenBSD if it exists
  • stress-stack: make rc no-clobberable, cleans up gcc 4.9.2 warning on
    kfreebsd
  • core-shim: disabled process_mrelease for SPARC
  • stress-monte-carlog: only define stress_mc_no_seed if it is required
  • core-perf: make filemap page cache description match existing style
  • stress-numa: report per instance mapping size to 1 decimal place
  • stress-numa: add --numa-bytes option to specify total memory size
  • kernel-coverage: add numa addr and node shuffling options
  • stress-numa: add --numa-shuffle-addr and --numa-shuffle-node
  • stress-numa: ensure pages get re-assigned to different nodes
  • stress-tree: disable warnings on misaligned pointer access
  • stress-numa: use stress_mmap_set_light to touch pages
  • core-pragma: add checks for gcc 10
  • core-pragma: add missing \
  • stress-monte-carlo: use generic supported and no_seed functions
  • stress-dev: add include ifdefs around stress_dev_ptp_linux
  • stress-dev: add macro VOID_ARGS to voidify common function args
  • stress-dev: remove UNEXPECTED checks, add more linux guarding
  • stress-dev: add some kvm ioctls
  • stress-dev: exercise UI_GET_VERSION ioctl on /dev/uinput
  • stress-dev: add RNDGETPOOL ioctl on /dev/random
  • stress-dev: exercise /dev/input/event*
  • stress-dev: add RTC RTC_IRQP_READ32 ioctl
  • stress-dev: add linux /dev/rtc ioctls, delay on -EBUSY
  • stress-mmap: add missing MMAP_SYNC flag
  • stress-ng.h: disable _FORTIFY_SOURCE when using PCC
  • stress-ng.h: disable _FORTIFY_SOURCE when using TCC
  • core-mmap: remove unused variable val
  • stress-sigsegv: make pointers uint8_t * to clean up void * pointer
    addition warnings
  • Makefile: don't enable -fipa for icc
  • stress-tree: allow tree node packed structures where packed is
    allowed on x86
  • core-pragma: add -Waddress-of-packed-member to WARN_OFF macro
  • core-attribute.h: add PACKED macro for attribute packed
  • stress-tree: move u into it's own typedef and make tree node 8 byte
    aligned
  • stress-tree: avl: remove redundant assignments to taller
  • stress-tree: avl: add pointer r as a short cut for (*root)
  • stress-tress: avl: make variable taller a register
  • stress-tree: avl: remove sub_taller variable
  • stress-tree: avl: replace (*root) with node on new node
  • stress-tree: don't pass taller flag in avl_insert
  • Add build-time test for packed attribute
  • README.md: add DEBUG=1 make build instructions
  • stress-monte-carlo: add some more complex integrals to compute
  • stress-monte-carlo: fix ppc64 darn and add missing rand support check
  • stress-rseq: add check for __builtin_thread_pointer()
  • stress-monte-carlo: add Monte Carlo computation of pi and e
  • stress-rseq: remove debug '| 1' for sys/rseq.h include
  • stress-rseq: remove trailing white space
  • stress-rseq: remove invalid rseq test cases
  • stress-rseq: remove rate debug
  • stress-rseq: move critical section count into a stressor metric
  • stress-rseq: rework to work with rseq in glibc
  • stress-sigsegv: fix exact fault address check
  • stress-x86syscall: add geteuid, getgid and getuid
  • README.md: add another citation link
  • stress-prio-inv: remove undef of PTHREAD_MUTEX_ROBUST
  • stress-prio-inv: remove prio default case from switch
  • stress-prio-inv: add build time check for pthread_mutexattr_setrobust
  • stress-prio-inv: add build-time checks for various SCHED_* support
  • stress-prio-inv: update reason why stressor is not implemented
  • stress-prio-inv: move pthread_mutex_t dependant types
  • Add shim for dirent d_type
  • stress-landlock: shift left with correct sized integer
  • Makefile.config: cater for empty $LIB_BSD string
  • stress-time-warp: add a time/clock time warp checking stressor
  • stress-prio-inv: match order of STRESS_PRIO_INV_POLICY_* with
    stress_prio_inv_policies
  • stress-mmap: add --mmap-stressful
  • stress-prio-inv: add --prio-inv-policy to select scheduler policy
  • stress-prio-inv: use FIFO sched by default
  • README.md: add Nikolas Kyx to contributors list
  • Add new prio-inv (priority inversion) stressor
  • stress-mmap: add --mmap-slow-munmap option
  • core-perf: add some more trace events
  • stress-landlock: only exercise flags that are usable
  • core-shim: replace strlcpy with safer strscpy
  • stress-landlock: add more landlock access flags, add check for
    usability
  • core-mwc: optimize and generalize mwc*modn() functions, remove pwr2
    helpers
  • stress-mmap: use non-mod random mwc functions for faster index
    generation
  • stress-mmap: add new option --mmap-write-check for opt-in write +
    checks
  • stress-factor: up the maximum digit size to 100000000 digits
  • stress-mmap: add --mmap2 option in short help
  • kernel-coverage: add new mmap options to mmap stress cases
  • stress-mmap: add opt-in randomized madvise on pages
  • core-mmap: touch + check just start of each page rather than filling
    them
  • debian/control: add libgmp-dev for factor stressor
  • README.md: update number of stressors (320+) and add loong64 arch
  • stress-mmap: touching pages should be using sz and not
    context->mmap_bytes
  • stress-mmap: add --mmap-mergeable option
  • stress-factor: clean up indentation
  • stress-mmap: reduce affect of mumap on stressor
  • stress-factor: add factorization stressor using libgmp
  • core-mmap: replace add/sub with xor
  • core-mmap: remove need for shift and compare, replace with add/sub
  • Manual: add "next generation" reference in title to explain why it
    is called stress-ng
  • core-mmap: replace compare + check for each value with 32 sum + check
  • Manual: add missing System V semaphore stressor title
  • stress-mmapfiles: ensure fd is closed on loop break paths
  • stress-mmapfiles: add ENOMEM check to bail out early
  • Manual: add notes to --mmapfiles stressor
  • stress-mmapfiles: add missing , between literal strings
  • stress-mmapfiles: remove ANONYMOUS mapping flag and use fd in mmap
  • stress-mmapfile: add file based memory mapping stressor
  • stress-cpu-online: move stressor back onto newly online'd cpu
  • stress-affinity: let main stress process reap all children
  • core-vmstat: Add OpenBSD implementation of stress_get_cpu_ghz
  • core-vmstat: add vmstat support for OpenBSD
  • stress-crypt: fix FreeBSD build issues
  • README.md: add note about snaps of stress-ng
  • core-shim: add missing shim block comments
  • Makefile: add support for Link Time Optimization
  • stress-ng: keep track of metrics overflow, report so.
  • stress-af-alg: add metrics for each af-alg crypto type
  • README.md: add another link to a kernel issue found by using stress-ng
  • stress-sysbadaddr: add Linux 6.8 lsm system calls
  • stress-waitcpu: add support for loong64 by using dbar instruction
  • stress-workload: RISC-V: use stress_asm_riscv_pause instead of a fence
  • stress-waitcpu: use RISC-V pause instruction for small delays
  • stress-waitcpu: only sanity check non-rates on non virt x86 systems
  • stress-eigen-ops.cpp: remove commented out debug code
  • stress-priv-instr: add loong64 privileged instructions
  • stress-pipe: add debug to log default pipe read/write sizes
  • core-*.h: add ALWAYS_INLINE annotation for small inline helpers
  • stress-regs: add loong64 implementation
  • core-asm-loong64.h: Add support for cpucfg instruction
  • stress-acl: terminate do-while stressor loop on acl error exit
  • kernel-coverage: exercise all ioschedulers on filesystems
  • stress-tsc: add rdtime.d instruction auto-built detection
  • stress-workload: add Loong64 support for dbar instruction
  • Manual: Add Loong64 implementation details for tsc stressor
  • stress-tsc: add Loong64 tsc reading support
  • core-asm-arch: initial support of Loong64 arch
  • Makefile: swap order of -U and -D FORTIFY_SOURCE
  • Makefile: ensure cc_supports_flag is defined outside the PEDANTIC
    flag settings
  • stress-io-uring: add optimizations - late sqe memset and optimize
    out zero stores