Skip to content

V0.17.08

Compare
Choose a tag to compare
@ColinIanKing ColinIanKing released this 02 May 08:09
· 1135 commits to master since this release

stress-ng V0.17.08 "consummate cpu crusher"

New stressors:

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

New options:

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

Important Fixes:

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

Detailed Changelog:

[ruihongw]

  • fix spelling of lsm_list_modules in Makefile.config

[Yiwei Lin]

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

[Colin Ian King]

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