stress-ng V0.19.04 "rapid ram rattler"
New Stressors:
- mmaprandom - extensive memory map random page mapping/unmapping stressor
- chyperbolic - complex hyperbolic math function exerciser
- ctrig - complex trigonometric math function exerciser
New options to force memory limits (for example, ENOMEM on memory allocates)
- --limit-as - limit virtual memory (address space)
- --limit-data - limit data segment (initialized data, uninitialized data, and heap)
- --limit-stack - limit stack size
Detailed Changelog
Author: Anisse Astier an.astier@criteo.com
- core-target-clones: add arch=znver[1-5]
Author: Artur Malchanau artur.molchanov@bolt.eu
- core-helper: fix source-date-epoch field indentation
Author: Colin Ian King colin.i.king@gmail.com
- core-*: Fix spelling mistake "re-used" -> "reused"
- kernel-coverage: Fix typo in comment "Covert" -> "Convert"
- stress-list: move do_jmp flag after SIGALRM handler is restored
- stress-hdd: add build-time checks for pwrite2, pwritev and writev
- stress-hdd: add build-time checks for preadv2, preadv and readv
- stress-mmaprandom: declare stress_mmaprandom_madvise_pages when required
- stress-mmaprandom: voidify page_size if not used
- CITATIONS.md: add a couple more links to papers
- stress-ng: rephrase "out of system resources" to "no system resources"
- stress-fd-race: use sscanf to parse strings
- stress-dev: use sscanf to parse strings
- stress-bad-ioctl: use sscanf to parse strings
- core-processes: use sscanf to parse strings
- core-parse-opts: use sscanf to parse strings
- core-helper: use sscanf to parse strings
- core-cpuidle: use sscanf to parse strings
- core-cpu-cache: use sscanf to parse strings
- core-cpu-cache: use atol instead of atoi for int scans
- stress-x86syscall: use shim_strlcat instead of unsafe strcat
- core-cpu-cache: use atol instead of atoi for 32 bit int scans
- stress-vdso: use shim_strlcat instead of unsafe strcat
- stress-mmaprandom: cast addresses to uintptr_t for 32 bit portability
- stress-mmaprandom: only test for MAP_HUGETLB if MAP_HUGETLB is defined
- stress-mmaprandom: fix MAP_32BIT setting
- stress-chyperbolic: complex hyperbolic math function stressor
- Manual: fix missing .RE after ctrig section
- stress-ctrig: fix missing ,
- stress-ctrig: reduce accuracy of csinf and ccosf for m68k
- stress-ctrig: complex trig stressor
- stress-hrtimers: don't set hrtimer in hrtimer signal handler
- stress-timer: don't set timer in timer signal handler
- stress-iomix: fix --iomix-bytes option to allow % sizes
- stress-signest: periodically shuffle signal order
- stress-mmaprandom: exercise procmap query ioctls on /proc/self/maps
- stress-schedmix: enable SCHED_FLAG_DL_OVERRUN if it is defined
- stress-schedpolicy: enable SCHED_FLAG_DL_OVERRUN if it is defined
- stress-schedpolicy: enable SCHED_FLAG_DL_OVERRUN sched flag
- stress-schedmix: enable SCHED_FLAG_DL_OVERRUN sched flag
- core-shared-cache: used shared anon mmap abstractions for cache mapping
- stress-fractal: don't use atomic builtins for Fiwix
- core-mmap: add shared anon mmap abstractions
- stress-mmaprandom: add non O_EXCL shm_open flags to mix
- core-limit add some struct field comments
- core-limit: remove commented out pasted code
- stress-ng: add --limit-as, --limit-data, --limit-stack options
- stress-mmaprandom: add mseal calls to private mappings
- stress-procfs: exercise /proc/mtrr with some invalid ioctls
- stress-ng: make --aggressive cpu affinity switching less frequent
- Manual: update description of --aggressive option
- kernel-coverage: add more coverage stressor options
- stress-mmaprandom: relax need for backing for remap_file_pages calls
- stress-mmaprandom: use same flags for splitting, fix flags for shm_posix
- stress-mmaprandom: rename SysV -> System V, remove debug
- stress-mmaprandom: add posix shm
- stress-mmaprandom: exercise System V shared memory
- README.md: Update contributor list
- Manual: update mmaprandom description
- stress-mmaprandom: exercise remap_file_pages
- stress-mmaprandom: throttle /proc reading to 10Hz
- stress-mmaprandom: read various /proc files that are memory related
- stress-ng: write-only page should be PROT_WRITE
- stress-memthrash: use different localities for prefetch
- stress-mmaprandom: add randomized invalud mmap calls
- stress-filename: add explicit utf8 and utf8-like filename options
- stress-udp: only declare so_reuseaddr when it is required
- stress-sockmany: only declare so_reuseaddr when it is required
- stress-sockabuse: only declare so_reuseaddr when it is required
- stress-sock: only declare variable i when it is required
- stress-bitops: use correct format specifiers for integer and bool types
- stress-ng: use PRId32 format specifier for started_instances
- stress-bitops: use correct format specifiers for integer and bool types
- stress-cpu: print int value using %d
- stress-filename: use PRIu32 for uint32_t value
- stress-shm-sysv: use PRIu32 for uint32_t value
- stress-ng: use PRId32 for int32_t type
- core-shared-cache: use PRIu32 format specifier for uint32_t field ways
- core-out-of-memory: use PRIu32 specifier for uint32_t values
- core-helper: cast info fields to match format specifier
- CITATIONS.md: add another link to some research
- Manual: fix up some style formatting for examples
- stress-mmaprandom: remove empty lines and whitespaces
- stress-mmaprandom: set the mmapmax default to the correct value
- stress-mmaprandom: add cloned chile thay umappings random mappings
- stress-mmapremap: limit to 65536 mappongs, fix rnd map masking
- stress-mmaprandom: add RB tree for randomized node selection
- core-ops: add OPT_mmaprandom_maxpages
- stress-mmaprandom: add new --mmaprandom-maxpages option
- stress-mmaprandom: add /dev/zero as file backed mapping file
- README.md: fix formating for bullet point
- stress-mmaprandom: inline stress_mmaprandom_get_random_size
- stress-mmaprandom: remove TARGET_CLONES from stress_mmaprandom_read
- stress-mmaprandom: if page is read+write perform atomic op on page
- stress-mmaprandom: twiddle file rw hints for file based mmaps
- stress-mmaprandom: twiddle random file flags on file based mmaps
- stress-mmaprandom: remove empty lines
- stress-mmaprandom: use different fallocate strategy for 4K pages
- stress-mmaprandom: madvise using process_madvise
- README.md: add kernel commit of issue found by stress-ng
- stress-mmaprandom: add MAP_DROPPABLE flag
- stress-loop: exercise fallocate and ftruncate on loop device
- stress-mmaprandom: don't allow madvise to poison pages
- stress-mmaprandom: replace advise -> advice
- stress-mmaprandom: don't allow madvise to poison pages
- core-memory: fix build issues when HUGETLB macros are not defined
- core-memory: return 0 bytes rather than false
- core-memory: remove some residual debug messages
- core-memory: replace stress_munmap_retry_enomem with stress_munmap_force
- core-memory: voidify arg pid
- stress-mmaprandom: move #ifdef, fixes DragonFlyBSD build
- stress-mmaprandom: fix spelling mistake "inmplemented" -> "implemented"
- stress-mmaprandom: voidify page_size arg
- stress-mmaprandom: move #endif to fix BSD builds
- core-memory: check for failed file open
- stress-mmaprandom: check for low memory before forking
- Manual: add --mmaprandom-numa option
- stress-mmaprandom: add --mmaprandom-numa option
- core-madvise: move common madvise_options to core-madvise
- stress-mmaprandom: add comments, code cleanup
- stress-mmaprandom: provide 0 for madvise_unmap_options
- stress-mmaprandom: use fallocate where possible to allocate file backed data
- stress-mmaprandom: add MWC_RND_ELEMENT to get random element from array
- stress-mmaprandom: add O3 hint on various functions
- stress-mmaprandom: optimize stress_mmaprandom_get_random_used
- stress-mmaprandom: add page prefetch into L2 cache
- stress-mmaprandom: force CoW page faults on random unmaps on child exit
- stress-mmaprandom: replace __builtin_memset with shim version
- stress-mmaprandom: add forking to duplicate and unmap mappings
- stress-mmaprandom: set anonymous name of mmapping via prctl
- stress-mmapregion: apply munmap friendly madvise when unmapping regions
- stress-mmaprandom: try to perform fixed address mmaps
- stress-mmaprandom: unmap regions in address order
- stress-mmaprandom: reduce scope for variable count
- stress-mmaprandom: use shim_mincore instead of mincore
- stress-mmaprandom: add build time checks for MAP_NORESERVE
- stress-mmaprandom: relax APPLE bsd checks
- stress-tree: relax APPLE bsd checks
- stress-mmaprandom: add some LIKELY/UNLIKELY branch hints
- stress-mmaprandom: update some comments
- stress-mmaprandom: munmap by pages or by whole region
- stress-mmaprandom: don't msync on PROT_NONE mappings
- stress-mmaprandom: rename mra -> mr_node
- stress-mmaprandom: fix spacing -> tabs
- stress-mmaprandom: add no-hole mapping splitting
- stress-mmaprandom: don't insert page between joins, add some optimizations
- stress-mmaprandom: optimize memory read/write ops
- stress-mmaprandom: check for null mras
- stress-mmaprandom: clean up error return path resource free'ing
- stress-mmaprandom: move rb tree to start of node
- stress-mmaprandom: fill pages with less randomized data
- stress-mmaprandom: reduce joining scans
- stress-mmaprandom: allow huge pages
- stress-mmaprandom: open file with NO_ATIME where possible
- stress-mmaprandom: add more page umapping, splitting and joining
- stress-mmaprandom: perform randomized mapping operations