New stressors
- bpf: a simple BPF code generator to exercise bpf validation and JITter
Notable fixes:
- use the taskset settings for cpu affinity defaults
- perform cache flushing and ksm scanning at a low rate
- stress-umount: fix child pid check, check pid and not s_pid->pid
- stress-yield: set bogo-ops in polling loop
- stress-af-alg: disable aead for pre-4.9 kernels
- stress-fp-subnormal: enable subnormal computation for x86 and intel compilers
Detailed changelog
Author: Michael Newman
- stress-tbl-numa: fix typo
- stress-regs: fix typo
Author: Qiao Zhao
- stress-vm: fix help text for vm-bytes option
Author: Colin Ian King
- core-cpu-cache: remove debug cache level message from stress_cpu_cache_get
- README.md: move to new git repo https://github.com/stress-ng/stress-ng
- stress-bad-altstack: add missing void * casts on guarded_stack
- stress-workload: fix build issues if WORKLOAD_THREADED is not defined
- stress-udp: only declare variable count for Linux builds
- core-affinity: move stress_set_cpu_affinity_init_if_zero call
- core-affinity: use the taskset settings for cpu affinity defaults
- core-memory: perform cache flushing and ksm scanning at a low rate
- stress-*: fix various typos found using codespell
- stesss-*: add coverage feature flag
- README.md: update contributor list
- core-mwc: add missing implicit cast to char type
- Makefile: expand clang sanitizer flags for more checking
- CITATIONS.md: add two more references
- stess-spec-rollback: unroll loop exactly 4 times
- stress-fp-subnormal: cast 0.0 to target type
- stress-epollmany: mmap various large sized arrays
- stress-bpf: clean up 32 bit pointer to uint64_t cast warning
- stress-sleep: use %zu format for size_t type
- stress-bpf: fix build warning when bpf is not supported
- stress-umount: fix child pid check, check pid and not s_pid->pid
- stress-oom-pipe: use pipe_fds_t type to simplify file descriptor indexing
- stress-poll: initialize pipe fds to -1 and close only opened pipe fds
- stress-sockabuse: close fd on error return path
- stress-zlib: don't subtract pointers from different array objects
- core-stack: don't subtract pointers from different array objects
- README.md: update contributor list
- stress-bpf: fix typos
- stress-icmp: only exercise /proc files on Linux
- stress-udp: periodically exercise /proc/net/udp* files
- stress-sock: periodically exercise /proc/net/sockstat* files
- stress-sysinval: comment out verver syscall
- stress-quota: exercise /proc/sys/fs/quota
- stress-pty: exercise proc files in /proc/sys/kernel/pty/
- stress-icmp-flood: preiodically exercise /proc/net/icmp
- stress-sctp: exercise files in /proc/net/sctp
- core-filesystem: add helper to read files from a directory
- CITATIONS.md: add another reference
- stress-memhotplug: exercise reading of hotplug sysfs files
- stress-hugepages: periodically read sysfs hugepage files
- stress-sigfpe: forgot to check in the SNG_RAISE flag
- stress-sigfpe: raise SIGFPE to exercise direct SIGFPE generation
- stress-pagescatter: unroll read/write loops by x 4
- stress-tree: specify btree loop unrolling count
- stress-fibsearch: unroll initial loop 8 times
- stress-brk: add null checks on sbrk() returns
- stress-ng: add NULL check on description clean up static analysis warning
- stress-zlib: use pr_inf_skip for skipping messages
- stress-waitcpu: use pr_inf_skip for skipping messages
- stress-vm-segv: use pr_inf_skip for skipping messages
- stress-varyload: use pr_inf_skip for skipping messages
- stress-unshare: use pr_inf_skip for skipping messages
- stress-swap: use pr_inf_skip for skipping messages
- stress-sockmany: use pr_inf_skip for skipping messages
- stress-sleep: use pr_inf_skip for skipping messages
- stress-sigxfsz: use pr_inf_skip for skipping messages
- stress-sigxcpu: use pr_inf_skip for skipping messages
- stress-sigrt: use pr_inf_skip for skipping messages
- stress-shm: use pr_inf_skip for skipping messages
- stress-rofs: use pr_inf_skip for skipping messages
- stress-quota: use pr_inf_skip for skipping messages
- stress-ptr-chase: use pr_inf_skip for skipping messages
- stress-prio-inv: use pr_inf_skip for skipping messages
- stress-poll: use pr_inf_skip for skipping messages
- stress-pkey: add missing "stressor" after "skipping" message
- stress-mmapfiles: use pr_inf_skip for skipping messages
- stress-min-nanosleep: use pr_inf_skip for skipping messages
- stress-iomix: use pr_inf_skip instead of pr_fail message
- stress-inode-flags: use pr_inf_skip for skipping messages
- stress-hrtimers: use pr_inf_skip for skipping messages
- stress-fpunch: use pr_inf_skip for skipping messages
- stress-filehole: use pr_inf_skip for skipping messages
- stress-fd-race: use pr_inf_skip for skipping messages
- stress-far-branch: use pr_inf_skip for skipping messages
- stress-eigen: use pr_inf_skip for skipping messages
- stress-cyclic: add missing "skipping stressor" in skip messages
- stress-context: use pr_inf_skip for skipping messages
- stress-cgroup: replace "skipping stressor" with skip string
- stress-cacheline: use pr_inf_skip for skipping messages
- stress-binderfs: update skipping info messages
- stress-acl: use pr_inf_skip for skipping messages
- stress-ping-sock: update skipping info messages
- stress-efivar: allocate data array on stack and not on bss
- stress-workload: dynamically allocate workload threads array
- stress-zlib: use stack allocted buffer for zlib error messages
- stress-sock: allocate buf on stack rather than being in bss
- stress-sockpair: use dynamically allocated socket file descriptors
- stress-sleep: fix free/return order
- stress-dup: replace static fds array with maap'd fds
- stress-sleep: allocate ctxts on heap rather than being a static array
- stress-pthread: declare pthreads and pthread_args on the stack
- stress-userfaultfs: mmap stack rather than having it static on the bss
- stress-zlib: put in/out data buffers on the stack rather than be static
- stress-cpu: use mmap'd data arrays
- core-helper: stress_kernel_release: use base 1000
- Makefile: use -fcode-hoisting for small builds
- core-attribute: disable O3 and forced inlining for small builds
- stress-bpf: optimize memory size for caching instruction
- stress-bpf: remove success/failure rate metrics
- stress-bpf: add bpf load/verification rate metrics
- stress-bpf: minor cleanups with naming and comments
- stress-yield: set bogo-ops in polling loop
- stress-bpf: re-cycle cached bpf instructions
- stress-af-alg: disable aead for pre-4.9 kernels
- core-helper: stress_kernel_release - limit patch level to 99 max
- stress-bpf: add a simple BPF code generator to exercise bpf validation and JIT
- CITATIONS.md: add another paper reference
- stress-fp-subnormal: enable subnormal computation for x86 and intel compilers
- stress-fp-subnormal: generate run time subnormals
- core-net: add build time checks for AF_INET and AF_UNIX
- stress-open: don't open openat2 with pcc
- Add build time check for typeof operator
- stress-xattr: add missing STRESS_ prefix to KB
- stress-kcmp: move memset of addr to clean up build issue
- stress-open: don't open openat2 with tcc
- core-shim: remove redundant shim_enosys call
- stress-set: reduce scope of variable ret
- stress-cap: remove trailing whitespace
- core-shim: remove one more prototype that is now an inline'd function
- stress-fp-subnormal: constify read-only pointers ptr1 and ptr2
- core-shim: remove prototypes that are now inline'd functions
- core-shim: remove redundant long int casts on calls to shim_enosys
- core-filesystem: remove redundant cast on i for fcntl() call
- core-helper: check for HAVE_PREAD before using it
- Add build time detection of struct iovec
- Add build time detection of getrlimit and setrlimit
- core-helper: add STRESS_XSTRINGIFY
- core-numa: prefix NUMA macros with STRESS_ to avoid name clashing
- core-signal: add HAVE_SIGLONGJMP checks
- core-signal.h: remove function prototypes now that these are macros
- stress-ng.h: prefix KB, GB, MB etc with STRESS_
- stress-vm-rw: add build time check for sys/uio.h
- stress-netlink-proc: add build time check for sys/uio.h
- stress-ioprio: add build time check for sys/uio.h
- stress-fd-abuse: add built time check for sys/uio.h for readv
- stress-dev: add built time check for sys/uio.h for preadv2
- core-shim: export shim_enosys
- README.md: add a couple more kernel bug references
- stress-zlib: minor zlib asciidigits speed improvement
- stress-ioport: replace 8 rounds of inb and outb with macros
- stress-intmath: refector repeated structs into a typedef
- stress-tsc: use macros for tsc operations to shrink source
- core-sched: move HAVE_SCHEDULING macro into core-sched.h
- core-numa: add helper to free mask and nodes
- core-madvise: inline stress_madvise_nohugepage
- core-madvise: inline stress_madvise_willneed
- core-madvise: inline stress_madvise_collapse
- core-madvise: inline stress_madvise_mergeable
- core-madvise: inline stress_madvise_random
- core-madvise: inline stress_advice_check
- core-shim: make shim_mlock inlined
- core-shim: make shim_mincore inlined
- core-shim: make shim_sched_yield inlined
- core-madvise: use stress_sort_cmp_str helper for string sorting
- core-net: add stress_net_af_unix_unlink to unlink AF_UNIX file
- core-net: don't use static sockaddr* structs
- stress-ctrig: rework nested if statements
- stress-clock: rework nested if statements
- stress-chyperbolic: rework nested if statements
- stress-chown: rework nested if statements
- stress-chmod: rework nested if statements
- stress-chdir: rework nested if statements
- stress-chattr: rework nested if statements
- stress-cgroup: rework nested if statements
- stress-cap: rework nested if statements
- stress-affinity: rework nested if statements
- stress-acl: rework nested if statements
- stress-acct: rework nested if statements
- kernel-coverage: add more tests options
- CITATIONS.md: remove space between [] and link
- CITATIONS.md: add another research paper reference