Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: stress-ng | Distribution: openSUSE Tumbleweed |
Version: 0.18.07 | Vendor: openSUSE |
Release: 1.1 | Build date: Mon Dec 2 13:21:40 2024 |
Group: System/Benchmark | Build host: reproducible |
Size: 5360954 | Source RPM: stress-ng-0.18.07-1.1.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: https://github.com/ColinIanKing/stress-ng | |
Summary: Tool to load and stress a computer |
stress-ng can stress various subsystems of a computer. It can stress load CPU, cache, disk, memory, socket and pipe I/O, scheduling and much more. stress-ng is a re-write of the original stress tool by Amos Waterland but has many additional features such as specifying the number of bogo operations to run, execution metrics, a stress verification on memory and compute operations and considerably more stress mechanisms.
GPL-2.0-only
* Mon Dec 02 2024 Fredrik Lönnegren <[email protected]> - update to 0.18.07: * Manual: stress-prio-inv default scheduling policy is fifo * Makefile: expand $(*FLAGS) and $(MACHINE) non-recursively * stress-gpu: fix the gpu-upload option is not effective * Makefile: fix machine detection for Ubuntu Bionic s390x VM * Makefile: bump version * stress-file-ioctl: replace long int with long for ioctl macros * Makefile.machine: remove need for which command * core-affinity: add die, core, cluster parsing options for affinity lists * core-helper: refactor, add helper function to check for zero'd buffer * stress-flipflop: use PRIu64 format specifiers for uint64_t values * core-affinity: rename str to arg to avoid name shadowing on token string str * stress-vma: don't use void * pointer arithmetic * stress-flipflop: add sanity check to avoid static analysis warnings * core-shim: fix order of int declaration for vlen in shim_process_madvise * core-affinity: swap args in calloc call * stress-softlock: re-work drop_niceness to cater for POSIX conformant nice() returns * stress-opcode: add missing const cast * stress-flipflop: constify casts in stress_flipflop_uint64_cmp * core-affinity: make stress_package_set static * core-, stress-: replace local static nowt pointer with global g_nowt * core-affinity: fix off-by 1 when printing max packages available * core-affinity: parse package list, e.g 0-3,7-11 * core-affinity: parse affinity list, allow packageN to be specified * core-affinity: parse affinity list with mix of ranges and odd,even,random,all * Makefile.config: add built time check for cpu_set_t * core-setting: add missing \n in string type output * stress-flip-flop: add new single cacheline coherency scalability stressor * stress-l1cache: unroll loops to improve throughput * stress-*: handle nice returns in a portable way * core-shim: add new Linux 6.13 xattrat system calls * stress-shm-sysv: requires sys/ipc.h and sys_shm.h so check for these * stress-llc-affinity: add cache line flushing option --llc-affinity-clflush * stress-gpu: rename option OPT_gpu_uploads to OPT_gpu_uploads (2) * stress-gpu: rename option OPT_gpu_uploads to OPT_gpu_uploads * stress-ng: use generalized signal handler setup * kernel-coverage: add --keep-going to workaround gcov errors * stress-vma: fix stress_mmapaddr_get_addr to return validated non-mapped addresses * stress-vma: retry address randomization if address is in text or heap sections * stress-vma: add missing comments * stress-vma: try access test on all pages of mmap * stress-vma: ensure test alloc is the correct number of pages in size * stress-vma: fix incorrect func name in comment block * core-perf: add some more perf events based on recent kernels * Revert "stress-pthread: disable pthread_sigqueue call for CYGWIN" * stress-workload: add a few more permutations of fma computation * core-nt-store: improve double nt stores on x86 * stress-opcode: x86: generate random length of opcode prefix ops * stress-rawdev: use %jd format specifiers for intmax_t * Makefile: use a smaller set of -W settings for PEDANTIC icc builds * core-klog: add another const in err_exceptions[] * core-helper: add some missing comment blocks * core-shim: remove comment about use of pragma * core-shim: remove extraneous ( in comment * core-shim: use arch specific cacheflush system calls * core-rapl: only emit "perhaps run as root" message if not running as root * stress-cacheline: unroll loops, improve performance by 33% * stress-bitonic: unroll test and verify loops for improved speed * stress-bubblesort: unroll loops to improve performance * core-, stress-: replace short with short int, long with long int * stress-ng: add --taskset-random option to randomize stressor CPU affinity * core-job: rename stress_chop to stress_str_chop * stress-vm: fix early termination of prime-incdec stressor * Manual: fix spelling mistake "optiob" -> "option" * stress-prefetch: use K instead of KB for cache size * stress-vma: use read rather than write on 8 bit pointer * core-helper: add backtrace dumping, call when SIGABRT occurs * core-affinity: --taskset: add "all" and "random" keywords * stress-l1cache: fix reverse method, fix incorrect setting of data loop * stress-brk: ensure the failure sbrk errno is being checked * core-target-clones: add more power9,10,11 target clone build time constraints * core-shim: limit _FORTIFY_SOURCE to 2 for ALT linux gcc for ppoll workaround * core-shim: use shim'd types for shim_poll args * core-shim: add shim to ppoll() and workaround fortification issues * stress-fp-error: remove duplicated sqrt * core-, stress-: fflush opened writable files * Sat Nov 02 2024 hui <[email protected]> - update to 0.18.06: * core-sched: Add support for sched_ext scheduling policies * fix stress-prio-inv bug * stress-vm: Check correct define for 128 bit nt stores * stress-bitops: add macro to handle undefined return for the ctz(0) case as well * Makefile: bump version * stress-usersyscall: move ret_libc to start of if block * stress-atomic: remove STRESS_ATOMIC_64BIT * stress-workload: add checks for HAVE_LIB_RT and HAVE_MQ_POSIX * stress-dfp: fix missing 64 and 128 bit _Decimal initializations * stress-sigill: fix MIPS build failure, remove extraneous ) * kernel-coverage: reduce swap for more vm pressure * stress-mutex: remove n_cpus debug message * core-helper: fix Cygwin build issue, git_t -> gid_t * kernel-coverage: add --icmp-flood -1 --icmp-flood-max-size * kernel-coverage: add --spinmem -1 --spinmem-affinity test * kernel-coverage: remove vfork-vm option, it does not exist * core-affinity: fix build failure and warning with previous commit * core-affinity: disable affinity change debug, it can spam the output * stress-sigill: add loong64 and mips illegal instructions * core-affinity: voidify unused arg use_affinity * stress-cpu-sched: move n_cpus and cpus * stress-ng: allow one to specify odd or even CPUs with --taskset option * stress-tlb-shootdown: use --taskset cpu mask * stress-cache: fix more resource leak on array cpus * stress-cache: handle sched_getcpu failure with error message and fix resource leak on cpus * stress-spinmem: fix resource leak on array cpus * stress-llc-affinity: fix resource leak on cpus array * stress-ipsec-mb: add build time check for init_mb_mgr_avx * test/test-libipsec-mb.h: include header * stress-race-sched: use --taskset cpu mask to select cpus for cpu-affinity setting * stress-mutex: use --taskset cpu mask for --mutex-affinity option * stress-mcontend: use --taskset cpu mask to select cpus for cpu-affinity setting * stress-llc-affinity: use --taskset cpu mask to select cpus for cpu-affinity setting * stress-cpu-sched: use --taskset cpu mask to select cpus for cpu-affinity setting * stress-cacheline: use --taskset cpu mask to select cpus for cpu-affinity setting * stress-cache: use --taskset cpu mask to select cpus for cpu-affinity setting * core-affinity: use correct number of cpus to scan cpuset * stress-spinmem: use --taskset cpu mask for --spinmem-affinity option * core-affinity: add helpers to get/free array of useable cpus * stress-spinmem: add --spinmem-affinity option to move processes around CPUs * stress-atomic: disable 128 bit atomics for now * stress-fcntl: add a few more NetBSD specific fcntl commands * stress-fcntl: fix incorrect #endif placement * stress-fcntl: add some FreeBSD + Darwin fcntl commands * kernel-coverage: add ext2 and ext3 into the fs stress mix * README.md: update nodes for Android NDK builds * core-pthread: include <pthread.h> if it exists * stress-workload: include <time.h> to fix Android build issues * core-helper, stress-workload: include <time.h> to fix Android build issues * stress-crypt: ensure orig_setting is eos terminated, only copy what is required * README.md: add note on LTO performance improvements * README.md: document various build options * stress-ptr-cached: add metric on duration per pointer chase operation * stress-zlib: add anonymous mapped name for zlib data checksums * stress-zero: add anonymous mapped name for read/write buffers * stress-workload: add anonymous mapped name for generic data buffer * stress-vma: add anonymous mapped name for vma metrics * stress-vm: add anonymous mapped name for bit error counter page * stress-vm-addr: add anonymous mapped name for bit error counter page * stress-unshare: add anonymous mapped name for unshare metrics * stress-tlb-shootdown: add anonymous mapped name for tlb-shootdown buffer * stress-sysinval: add anonymous mapped name for various page mappings * stress-sysfs: add anonymous mapped name for shared pthread context data * stress-swap: add anonymous mapped name for mmap'd swap page * stress-sparsematrix: add anonymous mapped name for mmap'd sparse data * stress-sem: add anonymous mapped name for globally shared semaphore * stress-seal: add anonymous mapped name for write buffer * stress-schedmix: add anonymous mapped name for shared semaphore mappings * stress-rmap: add anonymous mapped name for page padding mappings * stress-ptr-chase: add anonymous mapped name for pointer nodes and pointers * stress-pseek: add anonymous mapped name for pseek process state and I/O buffers * stress-plugin: add anonymous mapped name for signal counter data * stress-pkey: add anonymous mapped name for pkey pages * stress-pipe: add anonymous mapped name for read/write buffers * stress-peterson: add anonymous mapped name shared lock structure * stress-msync: add anonymous mapped name for I/O read buffer * stress-mmapfiles: add anonymous mapped name for shared mmap'd file information * stress-mmap: add anonymous mapped name for page pointers and page index * stress-mlockmany: add anonymous mapped name for mlocked pages * stress-misaligned: add anonymous mapped name shared page for misaligned transactions * stress-min-nanosleep: add anonymous mapped name for nanosleep delay tracking * stress-mergesort: add anonymous mapped name for sorting data buffer * stress-memthrash: add anonymous mapped name for memory thrashing buffer * stress-memcpy: add anonymous mapped name for memcpy buffer * stress-matrix: add anonymous mapped name for matrices a,b and r * stress-matrix-3d: add anonymous mapped name for matrices a,b and r * stress-malloc: add anonymous mapped name for malloc tracking information * stress-madvise: add anonymous mapped name for single page mapping * stress-lsm: add anonymous mapped name for lsm data buffer * stress-jpg: add anonymous mapped name for rgb data and row pointers * stress-icache: add anonymous mapped name for object code * stress-far-branch: add anonymous mapped name for each page mapped for functions * stress-dfp: fix anonymous mapped page name, fp -> dfp * stress-dev: add anonymous mapped name for device state information * stress-cyclic: add anonymous mapped name for latencies * stress-cpu-sched: add anonymous mapped name for node masks * stress-context: add anonymous mapped name for context data * stress-atomic: add anonymous mapped name for atomic-info data * stress-ptr-chase: compare total with integer rather than float value * stress-monte-carlo: ensure results array is correctly initialized * stress-icache: catch and debug state if SIGSEGVs occur * core-helper: improve debug dump of SIG* issues * core-asm-x86.h: add cpuid implementation for 32 bit -fPIC builds on older toolchains * stress-atomic: add support for 128 bit atomics on 64 bit systems * stress-ng.h: minor clean ups, no code change * stress-ng: replace struct stressor_info with stressor_info_t * stress-has: replace struct stress_hash_method_info with typedef stress_hash_method_info_t * stress-list: replace struct list_entry with typedef list_entry_t * core-out-of-memory: implement stress_set_oom_adjustment for FreeBSD * core-out-of-memory: inline helper function stress_args_name * core-helper: implement stress_parent_died_alarm for FreeBSD * core-helper: use getdtablesize for max fd if it is available * core-helper, stress-: add stress_zero_metrics helper to zero metrics * stress-cpu-sched: rename pid to child_pid to avoid name shadowing * core-, stress-: cast return from calloc to appropriate type * core-, stress-: cast return from malloc to appropriate type * core-target-clones.h: add power11 to target clones * stress-syscall: fix kfreebsd Debian build, include <time.h> * stress-syscall: fall back to gettimeofday if clock_gettime is unavailable * stress-: cast munmap 1st arg and mmap return to appropriate types * stress-cpu-sched: add helper function to setup HR timer * stress-intmath: fix cut-n-paste errro in type, should __int128_t instead of _int64_t * stress-cpu-sched: add doing nothing asm for empty err exit path * stress-cpu-sched: remove check on HAVE_SCHED_GETATTR for prio variables * stress-cpu-sched: make declaration of cpus not dependant on HAVE_SET_MEMPOLICY * stress-cpu-sched: only use SCHED_RESET_ON_FORK if it is defined * core-target-clones.h: add Lunarlake target clones * stress-cpu-sched: add SCHED_RR, SCHED_FIFO and SCHED_DEADLINE schedulers * stress-hyperbolic: add hyperbolic cosh, sinh and tanh function stressor * stress-inotify: clean up some comments * stress-intmath: add support for 128 bit integers * stress-workload: default --workload-threads to 2 instead of zero * stress-fanotify: remove from scheduler clas * stress-inotify: remove from scheduler class * stress-inotify: fix spelling mistake "timed" -> "timed out" * Manual: add SCHED_EXT to supported scheduling policies * README.md: add another kernel bug reference * core-sched: move SCHED_EXT #define to core-sched.h * README.md: Update contributors list * stress-ptr-chase: add new pointer chasing cache/pointer stressor * README.md: Update contributors list * stress-schedpolicy: log the name of the mistmatched scheduler type * stress-bitops: make bitposition a int8_t type since all values are < 256 * Revert "kernel-coverage: remove swap on loop-back filesystems" * stress-binderfs: perform binderfs on temp path subdirectory * kernel-coverage: remove swap on loop-back filesystems * stress-apparmor: use stress_mwc32modn() for size modulo'd random values * stress-x86cpuid: add some more x86 CPUID leaf checks * stress-prio-inv: Fix incorrect check for PTHREAD_PRIO{INHERIT|NONE|PROTECT} * stress-dfp: fix copyright year * stress-dfp: add _Decimal32/64/128 floating point add/mul/div stressors * kernel-coverage: cater for minix 1 to minux 3 fs types * stress-cpu-sched: replace block/unblock functions with stress_cpu_sched_hrtimer_sigprocmask * stress-cpu-sched: add fork retries for other forks * stress-cpu-sched: add fork retries * README.md: add a Cygwin bug link * stress-cpu-sched: periodically fetch process run time stats * stress-cpu-sched: periodically read load average * stress-cpu-sched: fix missing " * stress-cpu-sched: exercise some linux sched specific proc files * stress-: use stress_system_discard for discarded reads * stress-cpu-sched: periodically try to read /sys/kernel/debug/sched/debug * core-helper: add file read/discard helpers to read all data from a file * stress-cpu-sched: twiddle cpu slack on each timer reset * core-cpu: add virtual machine cpu ids * core-cpu: Add some more Hypervisor ID string in EBX,ECX,EDX strings * stress-cpu-sched: add some random SIGSTOP/SIGCONT on child processes * stress-set: cater for setrlimit returning -EINVAL on sigrlimit * stress-cpu-sched: replace clone with fork and ensure all child processes die * stress-cpu-sched: add RT hrtimer to change cpu and scheduler * stress-cpu-sched: add more mechanisms to select next cpu to use * stress-cpu-sched: exec stress-ng from a fork'd child for more stress * stress-exec: use capability check shim to check for root privilege * stress-cpu-sched: add randomization to SIGSTOP/SIGCONT on children * README.md: add another kernel fix link * README.md: replace tab with 4 spaces in build example guide * stress-sysbadaddr: move signal handlers earlier in child processes * Makefile.machine: check if objdump exists rather than readelf * stress-ng: add/remove some new lines * stress-ng: restructure loop stress_exclude_unsupported * stress-ng: remove extraneous ( ) * stress-ng: remove some empty lines * stress-ng.h: remove #include <sys/param.h> from header * stress-ng.h: move #include <sys/param.h> to stress-env.c * stress-ng.h: move #include <time.h> to sources that just require it * stress-ng.h: move #include <sys/resource.h> to core-shim.h * stress-ng.h: move #include <dirent.h> to core-shim.h * stress-ng: mungify stressor names at startup time * stress-ng: remove space after \n in error messages * core-shared-heap: rename stress_shared_heap_deinit to stress_shared_heap_free * Manual: use an escaped ? (e.g. ?) in class option example * stress-prio-inv: make priority inheritance error a warning * core-: stress-: voidify returns from various sleep function calls * core-shim: explicitly specify int for params in shim_getcpu() * stress-: voidify return from shim_nanosleep_uint64() * stress-cpu-sched: add some more sched_yield calls * core-, stress-: voidify returns from shim_sched_yield() * stress-cpu-sched: add a yield after each bogo-loop round * stress-cpu-sched: periodically move stressor instance to different CPU * stress-cpu-sched: periodically allow child to change it's CPU * stress-cpu-sched: add SCHED_RESET_ON_FORK flag to sched_setscheduler policy * README.md: Add some Cygwin bug report/fix URLS * Manual: updated notes about systems that provide sched_setaffinity * stress-cpu-sched: fix a couple of pedantic build warnings * stress-cpu-sched: add some function block comments * stress-cpu-sched: update short help info * core-cpu-sched: attempt to do autogroup adjustments for nice on Linux * stress-cpu-sched: add nice calls to clone'd process * stress-cpu-sched: add periodic clone process scheduler exercising * stress-core-sched: exercise set_mempolicy for more work * stress-cpu-sched: add some per child process time wasting mechanisms * stress-cpu-sched: add different ordering to pids * stress-cpu-sched: add random setpriority setting on child process * stress-cpu-sched: yet another scheduler stressor * core-thrash: read memory related proc files on Linux * core-lock: increase number of concurrent locks to 2 * STRESS_PROCS_MAX * Add new --stressor-time option to debug log the start/finish times of stressors * Sat Oct 26 2024 Fredrik Lönnegren <[email protected]> - update to 0.18.05: * stress-fcntl: fix multiple workers on Haiku * stress-touch: Fix file name handling in stress_touch_dir_clean(). * stress-vm: use correct method names for error messages * stress-fp: support bf16 * 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 * 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 * 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: " * stress-dev: rename stat bufs to avoid name shadowing * core-*: add gcc function attribute nonnull for extra sanity checking * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Sat Oct 26 2024 Fredrik Lönnegren <[email protected]> - update to 0.18.04: * 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 * 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 * 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 * Sun Oct 20 2024 Fredrik Lönnegren <[email protected]> - update to 0.18.03: * core-target-clone: fix power9 target build issue * 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 * 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 * 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 * 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 * 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 * 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 ; * Sun Oct 20 2024 Fredrik Lönnegren <[email protected]> - update to 0.18.02: * stress-hrtimers: follow sched setting * stress-ng: add qnx support * stress-swap: clean up error messages when using stress_get_fs_type * core-helper: add ZFS magic * 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 * stress-ng: sanity check if excluded stressor name is valid * 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 * 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 * 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 non-clobberable over vfork * stress-vm: only define stress_vm_flags when required * stress-lease: use opts instead of opt_set_funcs * stress-vecfp: use .opts instead of .opt_set_funcs * stress-plugin: fix plugin-so option for unimplemented stressor build case * stress-besselmath: update to ops for unsupported build paths * Manual: fix example code in plugin documentation * core-thrash: process fdmem seeking in off_t space * stress-dirmany: check for unlikely very small filenames * core-helper: stress_exec_text_addr: cater for text end is less or equal the text start * stress-netlink-task: avoid underflow on nlmsgbuf_len * stress-prio-inv: compute non-negative nice_div * core-helper: check for failed sysconf when calculating memory size * core-shim: ensure underflow never occurs on emulated fallocate writes * core-parse-opts, stress-*: use stress_unimplemented_method for unimplemented methods * core-parse-opts: remove debug and cater for zero method options * stress-signest: use STRESS_BIT_ULL for bitmask setting * core-parse-opts: remove stress_check_power_of_2 * core-, stress-: use new table-driven option parsing * stress-mmap: add MAP_DROPPABLE (Linux 6.11+) * Makefile.config: add LDFLAGS workaround for older versions of make * test-lib*: reference the contents of the function arrays * stress-unlink: no need for mode flags when opening existing file * stress-bitops: clz(0) -> 32 and not 0, fix this * stress-bitops: add macro to handle undefined return for the clz(0) case * stress-bitops: use stashed checksum to ensure all computations are performed * stress-signest: remove unused function stress_signest_find * stress-bitops: fix build error with clang-19 * stress-bitops: handle zero cases for ctz and clz, add 0x for PRIx formats * core-shim: fully define shim'd statx struct * Manual: Add Bit Twiddling Hacks and Hacker's Delight references * stress-bitops: Add new bitops stressor --bitops * core-vmstat: only report raplstat if delay > 0 * stress-cgroup: remove tabs at end of lines * stress-signest: exercise RT signals if they are available * core-helper: stress_get_signal_name(): add RT signal names * core-time: fix time reporting where duration > 60 seconds and duration % 60 == 0 * core-rapl: ignore short time measurement or zero power measurements * stress-ng: add --rapl and --raplstat RAPL power measurements * Fri Oct 04 2024 Fredrik Lönnegren <[email protected]> - update to 0.18.01: * stress-vecwide: fix verify option by setting results vector res * stress-cache: check RISCV_HWPROBE_EXT_ZICBOZ support for stress_cache_bzero * mmapfork: add --mmapfork-bytes option to specify mmap size * 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 * Mon Sep 09 2024 Fredrik Lönnegren <[email protected]> - update to 0.18.0: * core-sched.c: fix uclibc-ng build * stress-sock.c: fix build without SO_ZEROCOPY * stress-cache: add stress_cache_bzero() to support cache-based bzero * core-asm-riscv.h: support riscv zicboz ext cbo.zero instruction * stress-ng: stress-stream: Fix use of uninitialized variable * core-ops: fix --logmath-ops option * core-ops: fix --binderfs-ops option * 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 * 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 * 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 * 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 use* * stress-sigsegv: handle SIGBUS code with correct BUS_OBJERR * stress-fp-error: relax fp error checks on soft-float builds * 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 * 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 * stress-aiol: add total number of successful async I/O events metric * stress-factor: report maximum factor digit size as a metric * stress-aio: report total number of async I/O signals using metrics * stress-*: rename GEOMETRIC_MEAN and HARMONIC_MEAN metric macros * stress-prime: add metrics for total primes found and maximum digits found * stress-ng: add metrics for total and maximum values * stress-*: Remove HOT attribute * stress-cpu: add more information on ackermann failure message * stress-fractal: use stress_lock_acquire_relax() to reduce atomic lock contention * core-lock: add stress_lock_acquire_relax() * stress-lsm: use ~0 for invalid ctx addr, re-work error messages * stress-nanosleep: remove "just" from C states message * stress-ipsec-mb: remove "none detected" if no features are found * stress-ng: no need to check metrics if no stressors actually ran * stress-ng: report unimplemented stressors early and don't execute them * stress-rawdev: remove duplicated rawdev name in skipped message * stress-lsm: remove whitespace in tabs * stress-lsm: fix missing shim_lsm_set_self_attr helper * core-lock: include asm headers for arch specific pause/yield ops * stress-rtc: ignore ioctl EINVAL errors if the ioctl is not implemented * stress-rtc: ignore RTC_ALRM_READ EINVAL errors if the ioctl is not implemented * stress-crypt: fix performance issues with crypt_r data * core-shim: add mseal shim wrapper * stress-lsm: exercise lsm set with invalid ctx_len * core-lock: always inline helper function stress_lock_valid() * core-lock: add pause/yield in spinlock for architectures other than x86 * core-asm-arm.h: declare stress_asm_arm_yield when HAVE_ASM_ARM_YIELD is defined - update to 0.17.8: * Fix spelling of lsm_list_modules in Makefile.config * Fix unterminated cpu-stress if non 0% or 100% load * stress-epoll: fix missing space after comma in error messages * 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 * 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 * 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 - update to 0.17.7: * 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 * 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 * 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 * stress_vm_walking_flush_data: fix buffer overflow on last 7 bytes * stress-logmath: add logarithmic maths function exercising * 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 * 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 * Sat Mar 16 2024 Dirk Müller <[email protected]> - update to 0.17.6: * 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 * Thu Feb 22 2024 Thorsten Kukuk <[email protected]> - Allow to disable apparmor support (ALP supports only SELinux) * Sat Jan 27 2024 Dirk Müller <[email protected]> - update to 0.17.4: * kernel-coverage: add longer duration sysbadaddr test * stress-pthread: disable pthread_sigqueue call for CYGWIN * stress-tree: disable RB trees for CYGWIN * stress-sparsematrix: disable RB trees for CYGWIN * core-helper: add _start workaround for CYGWIN * core-shim: fix setdomainname check on HAVE_SETDOMAINNAME * stress-dir: don't reference non-POSIX d_reclen for CYGWIN * stress-mmapfork: use stress_mmap_populate for MAP_POPULATE * stress-xattr: workaround ENODATA not being defined for NetBSD * stress-metamix: voidify parameter temp_dir if O_DIRECTORY is not defined * core-time: voidify parameter dnow, cleans up Dilos build warning * stress-sysbadaddr: fix another valid fd check, should be >= 0 * stress-sysbadaddr: fix valid fd check, should be >= 0 * stress-sysbadaddr: close fdin rather than fdout on fdout open failure * stress-sysfs: use SCNu16 formate specifier for sscanf uint16_t * stress-sock: remove shadowed declaration of variable i * stress-vdso: add clock_getres * stress-sysinval: set dirfd mode, gid and uid back to original setting * stress-sigxfsz: retry setrlimit with smaller size if limit is too large * stress-copy-file: replace sizeof(char) with 8 * stress-copy-file: fix the max off_t, it's signed to cater for this * stress-sysbadaddr: use shim_cacheflush instead of direct system call * stress-sysbadaddr: pass different addresses to ppoll * stress-af-alg-defconfigs: re-order and remove blank lines * stress-mmap: add mprotect EACCESS error check for NetBSD * stress-metamix: add EBADF on fdatasync on read-only fd * stress-metamix: fix incorrect EBADF check * stress-metamix: ignore EBADF on fdatasync on read-only file * stress-ng: don't call mprotect if it does not exist * stress-syscall: add comment explaining why shell sort is used instead of qsort * stress-sysbadaddr: use VOID_RET for typed voidification of system call returns * Update copyright year to 2024 * Manual: remove . in Eigen description * stress-sock: exercise SO_SOCKET SO_* opts that return int type values * stress-sysbadaddr: only increment counter if a syscall is to be made * stress-sysbadaddr: avoid exercising system calls that will not fail * stress-sysbadaddr: add some more xattr system calls * stress-sysbadaddr: bad_fstat: exercise fstat on temp dir * stress-sysbadaddr: add copy_file_range * stress-sysbadaddr: add missing MIPS cacheflush system call * stress-syscall: add missing MIPS cacheflush system call * stress-sysbadaddr: exercise shim'd and non-shim'd syscalls * stress-sysbadaddr: exericse system call parameters with range of parameters * stress-sysbadaddr: only respawn child when bad addr breaks system call * core-version: define EQUAL_GNUC for all compiler times * stress-radixsort: remove array size specifiers to fix tcc build failures * core-builtin: add shim wrapper for __builtin_assume_aligned() * core-cache: add missing tab to clean up \ alignments * stress-vecshuf: remove redundant variables total_ops and total_bytes * stress-numa: Fix spelling mistake in comment * stress-memthrash: remove trailing space at end of line * Thu Dec 14 2023 Martin Hauke <[email protected]> - Update to version 0.17.3 Changes since 0.16.4 * https://github.com/ColinIanKing/stress-ng/compare/V0.16.04...V0.17.03 * Wed Aug 30 2023 Andrea Manzini <[email protected]> - Update to version 0.16.4 * see https://github.com/ColinIanKing/stress-ng/blob/V0.16.04/debian/changelog for the full changelog * Sat Mar 18 2023 Martin Hauke <[email protected]> - Udpate to version 0.15.6 * see https://github.com/ColinIanKing/stress-ng/blob/V0.15.06/debian/changelog for the full changelog * Fri Jan 13 2023 Dirk Müller <[email protected]> - update to 0.15.2: * test/test-float.c: Avoid tickling an implicit int error * test-aligned-alloc: Define _GNU_SOURCE for the aligned_alloc prototype * test-fchmodat: Include <sys/stat.h> for the fchmodat prototype * test-pidfd-getfd: Include <syspidfd.h> if available for pidfd_getfd * rework stress_strnrnd() * stress-signest: disable alternative stack before unmap * Makefile: bump verison, update to new code name * stress-forkheavy: cast mmap return to same type as pointer metrics * stress-fp: disable float128 for OpenBSD * stress-fp: disable float80 due to unresolved division by zero SIGFPEs * core-shared-heap: cast void * ptt to uintptr_t to clean up icc build warning * stress-matrix-3d: remove redundant redeclaration of variable j * stress-matrix: remove redundant redeclaration of variable j * stress-efivar: rename varname to get_varname to avoid name shadowing * stress-fp: add fp rates into metrics output, increase metrics to 24 slots * stress-fp: only count bogo-ops for float, double, long double * core-helper: silence a spurious gcc warning * stress-str: replace search for _ with + * README.md: update number of stressors * stress-fp: exercise various floating point values with +, *, / operations * stress-branch: add yield call for SH4 to allow it to be interrupted * stress-pci: add locking around PCI memory rate stats * stress-ipsec-mb: add locking around statistics being dumped in debug * core-shared-heap: ensure offset is always aligned to natural pointer alignment * stress-fault: restore signal handlers at end of stressor loop * stress-bad-altstack: replace STRESS_MINSIGSTKSZ with static size_t stress_minsigstksz * core-shared-heap: only report shared heap usage if it has been used * core-mwc: add stress_mwc*modn() functions for modulo'd range * core-builtin.h: convert macros into inline functions * stress-*: voidify return from snprintf * stress-str: fix prototype for test_strcpy_t * stress-list: evaluate entry->value ^ rnd before passing it into a macro * stress-wcs: add missing strdsc for stress_wcscpy testcase * core-shared-heap: add strdup for shared description metrics string * stress-ng: replace size of on index element j with 0 * stress-ng.h: divide by size of make allocator bitmap elements instead of 8 * stress-cpu: use a clang builtin for reversing bits * core-hash: replace hash_rol_uint32 with shim_rol32n * stress-wcs: remove variable failed, use info.failed instead * stress-str: bundle wcs function args into a struct, improves run time * stress-wcs: bundle wcs function args into a struct, improves run time * core-hash: use builtin rotate macros for rotating values * core-builtin: re-work rotate helpers, add generalised rotate left/right macros * stress-list: use builtin shim_ror64 * stress-resources: free resources before child exit * core-helper: fix stack size for non-first calls (incorrect cached value) * stress-pci: print PCI config and resource space read rates * core-helper: fix typo on STRESS_MAXIMUM macro * core-cache: Add 32 bit variants of 64 bit hashes * core-hash: add more comments to explain the nuances of memcpy * core-hash: xorror64: cast len to uint64_t before flipping bits * core-helper: simplify stack size calculations using STRESS_MAXIMUM macro * core-helper: limit iterations on stress_get_prime64 * stress-priv-instr: remove extraneous ) for SPARC (again) * stress-priv-instr: remove extraneous ) for SPARC * stress-mlock: fix typo on time function * stress-judy: move judy_ops array to function scope * core-resources: clean up code, voidify, constify, misc cleanups * stress-dirdeep: only report directories being deleted if it is taking a while to complete * stress-dirdeep: remove commented out cruft. * stress-evivar: ignore ioctl FS_IOC_SETFLAGS error return * stress-sigio: use metrics interface to report SIGIOs per sec * stress-malloc: add missing tab * stress-judy: add judy insert/find/delete rate metrics * Tue Dec 13 2022 Dirk Müller <[email protected]> - update to 0.15.01: * stress-tlb-shootdown: fix missing temporary directory removal * stress-priv-instr: handle SIGBUS as SIGILL for FreeBSD * stress-procfs: rename shadowed variable offset to mem_offset * stress-brk: cast uint8_t ptr to void * for munmap * stress-syscall: remove redundant initialization of variable max * kernel-coverage: add two more stack stressor options * stress-stack: add a new --stack-unmap option to unmap pages in stack * stress-brk: regularly unmap pages in heap to create many heap mappings * stress-pagemove: fix modulo of negative issue causing page check failure * stress-procfs: clean up off_t and ptr cast warnings * stress-priv-instr: add support for aarch64 * stress-far-branch: set base to 0, remove mask * stress-priv-instr: fix swapped size and fd args to mmap * stress-priv-instruct: fix typo: HAVE_ASM_S390_PTLV -> HAVE_ASM_S390_PTLB * stress-priv-instr: onlt log unhandled instructions info if any ops are not trapped * stress-priv-instr: add privileged instruction stressor * stress-x86cpuid: fix short help message * stress-*, core-*: Fix uname success check for Solaris/OpenHipster * stress-x86cpuid: stressor does not verify, so set VERIFY_NONE * stress-rdrand: reduce number of loops to avoid timeout overrun * stress-x86cpuid: remove trailing spaces after comments * stress-ng: free names[i] at first opportunity * stress-syscall: clean up some valgrind uninitialized memory warnings * stress-syscall: set threshold based on total available syscall tests * stress-syscall: add restart_syscall system call * stress-x86cpuid: add some more CPUID leaf types * stress-nop: add some more x86 long nops, add metrics * core-thermal-zone: move scope of total and count, add division by zero check * stress-*: add missing space between + operator * Manual: update contributors * stress-x86cpuid: replace ns with nanosecs in metrics * stress-fault: double major faults using madvise PAGE_OUT where possible * stress-fault: triple minor page faults using MADV_DONTNEED where available * stress-tlb-shootdown: double TLB read/writes and misses * stress-x86cpuid: more cpuid method for cpu stressor and make new stressor * stress-touch: add spacing between list of touch opts * stress-softlockup: remove redundant fflush call * stress-open: add open duration metrics * stress-*: use pr_inf_skip for skipped stressor messages * stress-nanosleep: add option --nanosleep-threads * core-hash: align primes lookup table, slight improvement * README.md: add another research paper citation * stress-peterson: add note describing cache alignment optimization * stress-dekker: add note describing cache alignment optimization * stress-*: replace various empty signal handlers with stress_sighandler_nop * stress-page-swap: only define stress_pageswap_count_paged_out when required * stress-far-branch: move #endif to end of correct function * stress-far-branch: only define stress_far_mmap_try32 if required * stress-sysfs: add sys_skip_paths array for paths to skip reading * stress-rdrand: remove metrics from debug, they are in the metrics output * stress-urandom: add random read rate metrics * stress-remap: add remap page metrics * stress-pageswap: add duration per page swapout metrics * stress-mutex: add mutex locking rate metrics * stress-mergesort: style: replace ptr+1 with ptr + 1 * stress-memhotplug: add metrics reporting for successful offline/online operations * stress-dekker: add cache friendly padding in mutex and counters * stress-peterson: add cache friendly padding in mutex and counters * stress-peterson: add mutex duration metrics * stress-dekker: add mutex duration metrics * stress-cpu-online: add offline/online duration metrics * stress-munmap: use __builtin_clzl for faster log2(n) calculation * stress-idle-page: fix comment description of stressor * stress-far-branch: report that architecture may not be supported * stress-far-branch: trim stride to minimum size, add ppc6le implementation * stress-dentry: remove empty tabbed line * stress-fifo: add --fifo-data-size option to specify the data read/write size * stress-dup: add dup call duration metrics * stress-dentry: add some dentry create/access/unlink metrics * stress-brk: add sbrk page expand/shrink metrics * stress-binderfs: add mount/umount duration metrics * stress-bind-mount: add mount/umount duration metrics * stress-sockpair: add metrics for socketpair call rate and write rates * stress-sockpair: add potential sockpair sk leak test * stress-vm: add a checkboard method * stress-procfs: make helper function stress_proc_scandir static * stress-stream: remove redundant casts * stress-ng: move declaration of pointer munged * stress_vm: replace stress_vm_popcount with stress_vm_count_bits8 * stress-cpu/vm: use builtin popcount where available * stress-ng.h: make ALIGNED macro a no-op for Minix (wrong number of * stress-vm: fill memory from a 32 bit Galois linear feedback shift register * Manual: fix spelling mistake "iterively" -> "iteratively" * stress-far-branch: re-work mmap handling for 32 bit and improved random mmaps * stress-sparsematrix: add a splay tree implementation to the mix * stress-procfs: sanity check /proc/self/mem * stress-mmap: attempt to name VMA using prctl * workflows: unset env for Trivy upload * workflows: set env for Trivy * workflows: set correct name for env * workflows: append env setting into $GITHUB_ENV * workflows: add missing ) at end of expression * workflows: fix IMAGE_REPOSITORY env setting * stress-shm: move /dev/shm check to earlier in the setup phase * stress-shm: skip stressor if /dev/shm is not mounted with tmpfs on linux * stress-sysfs: check for zero sysfs entries after pruning the directory * Fri Nov 18 2022 Martin Hauke <[email protected]> - update to version 0.15.0 * see https://github.com/ColinIanKing/stress-ng/blob/V0.15.00/debian/changelog for the full changelog * Mon Oct 10 2022 Dirk Müller <[email protected]> - update to version 0.14.6 * see https://github.com/ColinIanKing/stress-ng/blob/V0.14.06/debian/changelog for the full changelog * Sun Sep 18 2022 Martin Hauke <[email protected]> - update to version 0.14.5 * see https://github.com/ColinIanKing/stress-ng/blob/V0.14.05/debian/changelog for the full changelog * Fri Jul 22 2022 Dirk Müller <[email protected]> - update to version 0.14.3 * see https://github.com/ColinIanKing/stress-ng/blob/V0.14.03/debian/changelog for the full changelog * Wed Apr 13 2022 Martin Hauke <[email protected]> - Update to version 0.14.00 See https://github.com/ColinIanKing/stress-ng/blob/V0.14.00/debian/changelog for the full changelog * Sun Mar 27 2022 Dirk Müller <[email protected]> - update to 0.13.12: See https://github.com/ColinIanKing/stress-ng/blob/V0.13.12/debian/changelog for the full changelog * Wed Oct 13 2021 Martin Hauke <[email protected]> - Update to version 0.13.05 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Tue Sep 28 2021 Martin Hauke <[email protected]> - Update to version 0.13.04 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Fri Sep 17 2021 Martin Hauke <[email protected]> - Update to version 0.13.02 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Thu Sep 02 2021 Martin Hauke <[email protected]> - Update to version 0.13.01 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog - Reenable parallel build * Fri Aug 20 2021 Martin Hauke <[email protected]> - Update to version 0.13.00 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Mon Jun 28 2021 Martin Hauke <[email protected]> - Update to version 0.12.11 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Tue Jun 08 2021 Martin Hauke <[email protected]> - Update to version 0.12.10 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Sat May 08 2021 Martin Hauke <[email protected]> - Update to version 0.12.08 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Fri Apr 23 2021 Martin Hauke <[email protected]> - Update to version 0.12.06 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog * Sun Feb 28 2021 Martin Hauke <[email protected]> - Update to version 0.12.04 See http://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog for the full changelog
/usr/bin/stress-ng /usr/share/doc/packages/stress-ng /usr/share/doc/packages/stress-ng/README.md /usr/share/licenses/stress-ng /usr/share/licenses/stress-ng/COPYING /usr/share/man/man1/stress-ng.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Dec 12 00:38:55 2024