stress-ng (0.13.12-2ubuntu1) jammy; urgency=medium * Fix malloc stressor verification (LP: #1972906) - backport of upstream commit ddecc607f916f8c9561f40c7ddc7d9e5c7528ff1 -- Colin Ian King Fri, 28 Oct 2022 08:21:41 +0100 stress-ng (0.13.12-2) unstable; urgency=medium * Fix SIGINT sending alarm signal to all stressors (LP: #1966657) - should be sending signal to the process group and not a specific pid -- Colin Ian King Mon, 28 Mar 2022 10:02:12 +0100 stress-ng (0.13.12-1) unstable; urgency=medium [Maya Rashish] * stress-sysinval: correct typo timerfd_settime [Colin Ian King] * Makefile: add in core-vecmath.h to make dist rule * Manual: update date * Makefile: update version * Makefile: update code name to "refulgent coruscating seadragon" * core-shim: use system call for getcpu for S390x * stress-cpu: disable decimal math on s390x to avoid SIGILL * stress-usersyscall: check if user syscall mechanism is implemented * stress-sysbadaddr: include ptrace header * stress-sigsegv: only declare has_sse2 when it is required * stress-sysinval: cast return from mmap to clean up OpenHipster warning * stress-mmapmany: cast return from mmap to uint64_t * to clean up OpenHipster warning * core-vmstat: fix build warning in stress_find_mount_dev * core-vmstat: check for makedev/major macro include file * stress-dirdeep: check for null scanlist items * stress-dirdeep: don't exercise more inodes than those available * stress-zombie: voidify pid argument for non-linux builds * stress-sysinval: remove closed comment */ for getdtablesize * stress-radixsort: add in missing const in strcmp casts * stress-env: rename variable sz to env_sz to avoid name shadowing * stress-timer: remove blank line * stress-zombie: add zombie state check when --verify is enabled * stress-vm-segv: add simple test validation check * stress-usersyscall: add verify always flag since the inteface is being checked * stress-tee: add counter check to verify data is sane over pipes * stress-swap: add simple page check value to ensure swap works * stress-swap: add swap retries and measure swapped pages * stress-sparsematrix: add verify always flag * stress-sockpair: report system errors with pr_err rather than pr_fail * stress-sockmany: report system errors with pr_err rather than pr_fail * stress-sockfd: report system errors with pr_err rather than pr_fail * stress-sock: report system errors with pr_err rather than pr_fail * stress-sendfile: add verify flag, don't report system errors as failures * stress-sigsuspend: report system errors with pr_err rather than pr_fail * stress-sigrt: report system errors with pr_err rather than pr_fail * stress-sigq: report system errors with pr_err rather than pr_fail * stress-sigpipe: report system errors with pr_err rather than pr_fail * stress-sigio: report system errors with pr_err rather than pr_fail * stress-sigfpe: report system errors with pr_err rather than pr_fail * stress-sigfd: report system errors with pr_err rather than pr_fail * stress-sigchld: report system errors with pr_err rather than pr_fail * stress-shellsort: report system errors with pr_err rather than pr_fail * stress-sendfile: add verify flag, don't report system errors as failures * stress-rmap: report system errors with pr_err rather than pr_fail * stress-rlimit: remove a blank line * stress-radixsort: add optional sort order verification * stress-qsort: replace fail message on calloc failure with error message * stress-pidfd: add verify flag and replace a fail with an error message * stress-nanosleep: report error as an error not as a test failure * stress-mmapmany: add memory contents verification * stress-mmapaddr: indicate that verification is always on * stress-longjump: add a simple longjmp failure detection for verification * stress-lockofd: report system errors with pr_err rather than pr_fail * stress-lockf: report system errors with pr_err rather than pr_fail * stress-locka: report system errors with pr_err rather than pr_fail * stress-list: add verify flag since the lists are being santity checked * stress-lease: add one verification point on lease UNLOCK * stress-itimer: add verification of itimer signal handling * stress-iosync: add more verification checks on sync'ing calls * stress-hrtimers: add hrtimer interrupt detection for verification * stress-goto: fix cut-n-paste error in --goto-direction error message * stress-filename: add verify VERIFY_ALWAYS since stressor does validation * stress-exit-group: add simple check to see if exit_group exits * stress-env: make verify optional based on --verify setting * stress-env: add low memory checking and env var value checking * stress-ipsec-mb: add in missing core-cpu.h include * TOOD: add a couple more ideas of stress cases that could be added * test-v2di: reference variable __v2di to clean up cppcheck style warning * test-timerfd-settime: remove unused variable timerid * test-timerfd-gettime: remove unused variable timerid * test-sendfile.c: use variable count * stress-ng.h: move core-cpu prototypes into core-cpu.h * stress-vm: clean up pedantic volatile discard warning on prefetch * stress-sysinval: no need to make stress_syscall_exercised volatile * stress-pthread: rename pthreads to pthread_info * stress-memrate: clean up pedantic volatile discard warning on prefetch * stress-vm: replace aliased pointer with direct cast * stress-bind-mount: use umount2 to umount, check for files in bind mount * stress-cpu: add logistical map chaotic data computation method logmap * Manual: update bug filing URL * stress-alarm: move #defines to start of code * stress-aio: constify pattern argument * stress-aio: align macro constants * stress-aio-linux: constify some more function arguments * stress-aio-linux: align #define constants * stress-af-alg: add extra ( ) around comparison expressions * stress-access: use stress_check_capability to check if root * core-helper: inline helper function stress_check_root * stress-vm-rw: fix cut-n-paste error on PROCESS_VM_WRITEV check * stress-usersyscall: constify syscall argument * stress-uprobe: constify a flags function argument * stress-dirdeep: allow 36 directories per level * stress-dirdeep: enable inode estimation * stress-rseq: fix error message, fix spelling mistake * stress-*: use pr_fail to log stressor failure errors * stress-fifo: use pr_fail for stressor test failure cases * stress-memrate: include 64 bit prefetched read streaming * stress-vm: add 1K prefetch on read64 to get some more read performance * README.md: add another citation * Change verify boolean to a type, differentiate between optional and always verification * stress-utime: enable --verify time checking for one of the utime settings * stress-tree: add support for --verify option * stress-pageswap: add verification that checks start address contains stashed data * stress-ng: add help info for --verifiable option * stress-malloc: add verification that start address contains stashed data * stress-l1cache: add comments, remove trailing tabs * stress-l1cache: enable simple checking with --verify option * stress-copy-file: enable --verify check * Add sendfile system call autobuild detection * stress-iomix: add sendfile I/O file data copying mechanism * stress-iomix: add copy_file_range I/O copies for systems that support this * bash-completion: update copyright * Add the --verifiable option * README.md: add another kernel bug citation * stress-sysinval: use locking around multiple debug messages * stress-sysinval: use pre-allocated pool for hash items * stress-sysinval: use uint64_t for counters * stress-sysinval: fix typo in system call io_pgetevents* * stress-sysinval: disable stack clobbering check for child process * stress-einval: fix incorrect crash and timeout tracking * stress-enosys: add in more missing system calls * stress-sysinval: add more missing system calls * stress-clone: re-order CLONE_* flags in line with the linux header * stress-enosys: add in missing prlimit * stress-sysinval: Add in some missing system calls * stress-stream: only declare has_sse2 when HAVE_NT_STORE_DOUBLE is defined * stress-enosys: add a few missing system calls * Fix various spelling mistakes * stress-dentry: remove linux check around stress_dentry_state call * stress-dentry: fix incorrect position if #endif * Add xxhash library to build notes for Debian/Fedora/SUSE * stress-hash: add xxhash support * stress-revio: add more yield point checking * Manual: add in new vm stressor method --cache-lines * stress-dentry: log the number of new dentries created in cache * stress-seek: add lseek64 call if it is available * stress-memrate: fix memrate rate speed * Add vm stressor method --cache-lines to walk through memory in cache line steps * stress-vm: add cache block forward/reverse memory writes * stress-vm: fix typo in comment, remove extraneous word at * stress-physpage: add notes about why /dev/mem -EPERM errors * stress-vm: add 32 x 64 non-temporal write method * stress-vm: add 1028 bit vector write * stress-stream: cater for non-sse2 x86 cpus * stress-pthread: set process name to include thread instance number * stress-oom-pipe: bail out early on pipe creation when we hit an error * core-log: move #endif to re-enable locking * core-out-of-memory.c: fix oom adjustment for older kernel OOM interface * stress-stream: only use non-temporal stores for index0 writes * core-nt-store: fix up gcc macro check for double nt stores * stress-stream: use non-temporal stores to optimize streaming writes * stress-memrate: add 1024 bit read/write, use vectors for 128 bits if supported * stress-madvise: add more MADV_ options supported by other kernels * stress-mmap: add MAP_LOW32 Solaris mmap option * stress-mmapfork: rename macros, add MMAPFORK prefix * stress-dev: exercise various open options on device * stress-dev: cleanup UNEXPECTED macro indentation * stress-udp: remove some extraneous lines * stress-loadavg: add timeout poll for extra yielding detection * core-vmstat: implement non-linux method for stress_find_mount_dev * stress-usersyscall: move help, fixes build on non-Linux systems * stress-ng.h: forgot to add the stress_find_mount_dev prototype to stress-ng.h * stress-rawdev: determine underlying device using stress_find_mount_dev * stress-mmapfork: add #if defined checks for specific MADV flags * stress-pageswap: exercise page mapping, swap out, swap in and unmapping * Use intmax_t type and PRIdMAX to print format pid_t pids * stress-madvise: exercise /proc/$PID/smaps file * stress-daemon: make backoff a macro value * stress-sparsematrix: move blank line, it is in the wrong place * stress-memrate: use two variants of each reader/writer and unroll loops more * stress-vecwide: use core-vecmath.h to check for vector capability * stress-usesyscall: exercise non-libc bounded calls * stress-ng: make g_unsupported a local variable * stress-schedpolicy: run just stressor as DEADLINE * stress-sigsegv: generate SIGSEGV on x86 using msr read and misaligned reads * stress-fifo: Fix spelling mistake "stessors" -> "stressors" * stress-sysbadaddr: Fix spelling mistake "excute" -> "execute" * stress-chroot: fix spelling mistake in chroot help "chhroot" -> "chroot" * stress-ng: fix typo: untrustyworthy -> untrustworthy * stress-usersyscall: add user space system call stressing * stress-enosys: simplify expression * stress-dentry: move rdfds fd_set to code block * stress-dentry: move timeout to specific code block * stress-affinity: constify a pointer argument * README.md: Add another citation * stress-loop: add sync to avoid loop_set_block_size warning messages * stress-swap: disable CoW for swap, madvise pages to be swapped out * Move _ARCH_ macros into core-arch.h * stress-ng.h: remove EXIT_SUCCESS, EXIT_FAILURE macro checks/defines * stress-malloc: add heap trimming with malloc_trim * core-log: add ( ) to clarify operator precedence * cleanup: voidify some function returns * stress-misaligned: add 32 and 64 bit non-temporal writes * stress-misaligned: remove keep stressing check in results * stress-memthrash: use core-nt-temporal.h helper functions * core-nt-store.h: put non-temporal store helpers into header file * stress-enosys: remove REDO debug * stress-enosys: limit hash'd calls to less than 65536 * stress-enosys: hash on unsigned syscall number * stress-ng: clear /sys/kernel/debug/clear_warn_once where possible * stress-nop: add tpause wait * core-cpu: add in more x86 feature flag bits * stress-enosys: add more linux system calls * Manual: remove extraneous word "good" * stress-syncload: remove #if 0 debug * stress-syncload: add yield point in busy loop * Add core-vecmath for vector math op checking, add vector ops to syncload * stress-sparsematrix: zero pvalue only when pvalue is non-null -- Colin Ian King Sun, 6 Mar 2022 22:01:02 +0100 stress-ng (0.13.11-1) unstable; urgency=medium [Aboorva Devarajan] * stress-sem: fix macro definition [Jules Maselbas] * stress-rseq: inline the nop instruction and add Kalray VLIW nop * stress-nop: Fix nop asm instruction for KVX [Colin Ian King] * Debian: update changelog * debian: update copyright year * Makefile: bump version * Makefile: add two missing header files from make dist rule * Manual: update contributors list * core-log: forgot to check-in the --stdout changes * Add --stdout option to send run time messages to --stdout * stress-kvm: only allow on x86-64 for now. * stress-hash: set correct big endian checksum for mulxror64 * core-shim: fix build error on Minix, replace __NR_unlinkat with 0 * core-shim: fully implement shim_unlinkat * stress-clock: don't build shim_clock_adjtime if it is not required * stress-clock: fix build issue on BSD for shim_clock_adjtime * stress-dev: only define stress_dev_tty if TCGETS is available * stress-dir: include libgen.h for basename definition * stress-dev: include libgen.h for basename definition * core-shim: include core-pragma.h to fix OS X build failure * Manual: update contributors and date * Signed-off-by: Colin Ian King * core-*, stress-*: update copyright * stress-ng.h: Disable fortified build for PCC * stress-clock: move shim_clock_adjtime to stress-clock * core-*: add UNEXPECTED #ifdef checking * stress-*: add UNEXPECTED #ifdef checking * stress-dev: add unexpected build failure #else path detection * core-shim: move include linux/futex.h to core * stress-sysfs: move include linux/fs.h to stressor * core-helper: move include linux/fs.h to core * stress-udp: move include linux/udp.h to stressor * core-helper: move HAVE_PRCTL_TIMER_SLACK to core * stress-prctl: move include sys/capability.h to stressor * stress-sockmany: move include netinet/tcp.h to stressor * stress-sock: netinet/in.h and arpa/inet.h to stressor * stress-*: move include netinet/in.h and arpa/inet.h to stressors * stress-*: move include net/if.h to stressors * stress-*: move include netinet/ip.h to stressors * stress-dev: move include sound/asound.h to stressors * stress-dev, stress-pty: move include termio.h to stressors * stress-*: move include poll.h to stressors * core-log, stress-ng: move include syslog.h to core * core-perf: move include local.h to core * stress-fp-error, stress-sigfpe: move include float.h to stressor * stress-set: move include grp.h to stressor * core-mounts, core-vmstat: move include mntent.h to core * stress-resources, stress-sem: move include semaphore.h to stressors * stress-vdso: move include link.h to stressor * stress-*: move include utime.h to stressors * stress-mq, stress-resources, stress-switch: move include mqueue.h to stressors * stress-malloc: move include malloc.h to stressor * core-*, stress-*: move xattr includes to core and stressors * stress-sock: move include netinet/tcp.h to stressor * stress-icmp-flood, stress-ping-sock: move include netinet/ip_icmp.h to stressors * core-*, stress-*: move include sys/capability.h to core and stressors * stress-*: move include sys/select.h to stressors * stress-msg, stress-resource, stress-shmsysv: move include sys/ipc.h to core and stressors * core-*, stress-*: move include sys/sysmacros.h to core and stressors * core-*, stress-*: move include sys/statfs.h to core and stressors * core-*, stress-*: move include sys/swap.h to core and stressors * stress-swap: move include sys/swap.h to stressor * core-*, stress-*: include sys/un.h to core and stressors * core-shim: move include sys/random.h to core * stress-msg, stress-resources: move include sys/msg.h to stressor * stress-resources, stress-sem-sysv, stress-switch: move include sys/sem.h to stressor * stress-shm-sysv: move include sys/shm.h to stressor * core-*, stress-*: move include sys/mount.h to core and stressors * stress-*: move include sys/utsname.h to stressors * stress-get: move include sys/vfs.h to stressor * stress-ptrace, stress-vm-segv: move include sys/ptrace.h to stressors * stress-*: move include sys/statvfs.h to stressors * stress-*: move include sys/prctl.h to stressors * stress-*: move include sys/inotify.h to stressors * stress-ioport, stress-smi: move include sys/io.h to stressors * stress-fp-error, stress-sigfpe: move include fenv.h to stressors * stress-close, stress-fanotify: move include sys/fanotify.h to stressors * stress-*: move include sys/eventfd.h to stressors * stress-prctl: move include asm/prctl.h to stressor * stress-*: move include libgen.h to stressors * stress-sctp: move include netinet/sctp.h to stressor * core-shim: move HAVE_PKEY_GET/HAVE_PKEY_SET to core * stress-*: move HAVE_USERFAULTFD to stressors * stress-netlink-proc: move include linux/version.h to stressor * stress-key: move include keyutils.h to stressor * stress-dev, stress-getrandom, stress-urandom: move include linux/random.h to stressors * stress-af-alg: move include linux/socket.h to stressor * stress-*: move include linux/netlink.h to stressors * stress-*: move include linux/sockios.h to stressors * stress-get: move include linux/sysctl.h to stressor * stress-numa, stress-shm-sysv: move include linux/mempolicy.h to stressor * stress-opcode, stress-seccomp: move include linux/filter.h to stressor * stress-sockdiag: move include linux/rtnetlink.h to stressor * stress-rawpkt, stress-udp: move include linux/udp.h to stressor * stress-dev: move include linux/ppdev.h to stressor * stress-rawpkt: move include linux/if_packet.h to stressor * core-perf: move include linux/perf_event.h to corew * stress-membarrier: move include linux/membarrier.h to stressor * stress-*: move include linux/secccomp.h to stressors * stress-*: move include sys/epoll.h to stressors * stress-*: move include ucontext.h to stressors * core-*, stress-*: move include sys/auxv.h to core and stressors * stress-memrate, stress-memthrash: move include xmmintrin.h to stressors * core-helper: move include sys/mount.h to core * core-shim: move include sys/ustat.h to core * stress-fiemap: forgot to add in linux/fs.h * core-mounts: move include sys/ucred.h to core * stress-wcstr: move include bsd/wchar.h to stressort * stress-dynlib: move dynlib includes to stressor * stress-*: move include linux/fs.h to stressor * core-vmstat: move include sys/sysctl.h to stressor * core-vmstat: move include sys/vmmeter.h to stressor * stress-sockdiag: move include linux/sock_diag.h to stressor * stress-sockdiag: move include linux/unix_diag.h to stressor * stress-netlink-{proc|task}: move include linux/connector.h to stressor * stress-netlink-{proc|task}: move include linux/cn_proc.h to stressor * stress-dev: add in some missing scsi includes * stress-dev: move include scsi/scsi.h to stressor * stress-dev: move include linux/media.h to stressor * stress-dev: move include linux/hdreg.h to stressor * stress-dev: move include linux/ptp_clock.h to stressor * stress-procfs: move include linux/pci.h to stressor * stress-futex, stress-pthread: move include linux/futex.h to stressors * stress-dev: move include linux/hpet.h to stressor * stress-dev: move include linux/cdrom.h to stressor * stress-sockpair: call sockpair stressor from OOMable restart handler * stress-sockpair: try to make parent more OOM friendly * stress-sockpair: add EPIPE checking and EPIPE signal handler * stress-alarm: use the no-op signal handler * stress-loop: move include linux/loop.h to stressor * stress-opcode, stress-seccomp: move include linux/audit.h to stressors * stress-dev: move include linux/dm-ioctl.h to stressor * stress-dev: move include linux/kd.h to stressor * stress-landlock: move include linux/landlock.h to stressor * stress-kvm: move include linux/kvm.h to stressor * stress-open: move include linux/openat2.h to stressor * coreftrace, stress-*, move tree includes into core and stressors * stress-resources, stress-timerfd: move include sys/timerfd.h to stressors * stress-procfs: move include asm/mtrr.h to stressor * stress-*, core-shim: move include asm/ldt.h to stressor * stress-dev: move include linux/usbdevice_fs.h to stressor * Revert "stress-ng.h: remove usbdevice_fs.h" * core-smart: move include scsi/scsi_sg.h to core * stress-rtc: move include linux/rtc.h to stressor * core-shim: move include scsi/scsi_ioctl.h to core * stress-list: move include sys/queue.h to stressor * core-shim: move include asm/cachectl.h to core * stress-set: move include sys/fsuid.h to stressor * stress-tsc: move include sys/platform/ppc.h to stressor * stress-*.c: move include sys/uio.h to some stressors * stress-ng.h: remove usbdevice_fs.h * stress-dev: move include videodev2.h to stressor * stress-dev: move include vt.h to stressor * stress-rawpkt, stress-tun: move include if_tun.h to stressors * stress-af-alg: move include if_alg.h to stressor * stress-netlink-task: move include genetlink.h to stressor * stress-fiemap, core-helper: move include fiemap.h to stressor and core * stress-netlink-task: move include taskstats.h to stressor * stress-io-uring: move include io-uring.h to stressor * stress-binderfs: move include binderfs headers to stressor * stress-personality: move include personality.h to stressor * stress-rseq: move include rseq.h to stressor * stress-sigfd, stress-close: move include wchar.h to stressors * stress-wcstr: move include wchar.h to stressor * stress-sendfile: move include sendfile.h to stressor * stress-verity: move include fsverity.h to stressor * stress-userfaultfd: move include userfaultfd.h to stressor * stress-quota: move include quota.h to stressor * stress-watchog: move include watchdog.h to stressor * stress-spawn.c: move include spawn.h to stressor * core-module: move include libkmod.h into core-module * stress-apparmor: move include sys/apparmor.h to stressor * stress-aio-linux: move libaio.h include to the stressor * stress-ipsec-mb: update copyright * stress-ipsec-mb: move intel-ipsec-mb.h into the stressor * stress-judy, stress-sparsematrix: move Judy.h into stressors * stress-cpu, stress-funccall: move complex.h into stressors * stress-crypt: move crypt.h include into stress-crypt.h * stress-aio: move aio.h include into stress-aio.h * stress-ng.h: remove ioprio macros * core-io-priority.h: add include file with io priority macros * core-sched.c: move sched related macros to core-sched.c * stress-getdent.c: move getdent system call macros to stress-getdent.c * core-cache.h: move two more cache macros to core-cache.h * stress-ioprio: move ioprio related syscall macros to stress-ioprio * stress-mmap: move mmap2 related syscall macro to stress-mmmap * stress-schedpolicy: move sched attr related syscall macros to stress-schedpolicy * stress-ng.h: remove HAVE_SET_THREAD_AREA, it is not used * stress-membarrier: move syslog related syscall macro to stress-membarrier * stress-klog: move syslog related syscall macro to stress-klog * stress-pthread: move thread area related syscall macro to stress-pthread * stress-pthread: move robust list related syscall macros to stress-pthread * stress-kcmp: move kcmp related syscall macro to stress-kcmp * stress-key: move key related syscall macros to stress-key * core-perf: include core-perf.h * stress-fp-error: relax checks for icc compiler * core-ftrace: include core-ftrace.h * core-thrash: include core-thrash.h * core-thermal-zone: include core-thermal-zone.h * core-smart: include core-smart.h * core-hash: include core-hash.h * stress-misaligned: include core-target-clones.h * core-helper: fix stress_get_prime64, value should be different on each call * README.md: Add another kernel improvement where stress-ng was used * stress-ng.h: remove debug macro pr_dbg_v * core-cache.h: move shim_mfence to core-cache.h from stress-ng.h * core-cache.h: move shim_builtin_prefetch to core-cache.h from stress-ng.h * core-cache.h: move cache helper functions/macros to core-cache.h from stress-ng.h * stress-ng.h: remove macro STRESS_PAGE_IN, it it no longer used * core-net.h: move some network macros from stress-ng.h to core-net.h * stress-rawudp: add in missing core-net.h include * core-ftrace.h: move ftrace helper definitions to core-ftrace.h from stress-ng.h * core-net.h: move net helper definitions to core-net.h from stress-ng.h * core-thrash.h: move thrash helper definitions to core-trash.h from stress-ng.h * core-smart.h: more SMART helper definitions to core-smart.h from stress-ng.h * core-thermal-zone.h: more helper definitions to core-thermal-zone.h from stress-ng.h * core-perf.h: more perf helper definitions to core-perf.h from stress-ng.h * core-helper: add a no-operation signal handler stress_sighandler_nop * core-hash: fix verify checksum for hash mulxror64 * stress-apparmor: update copyright boilerplate message * stress-apparmor: include core-capabilities.h * core-mwc: move STRESS_MWC* macros to stress-mwc.c * stress-cpu.h: move FORCE_DO_NOTHING macro to stress-cpu.c * core-pragma: move pragma related macros to new header * Makefile: Add core*h as part of obj build dependencies * Makefile: add new core-*h files to make dist rule * core-capabilities: move *CAP* capability macros to new header * core-target-clones: move TARGET_CLONES macros to new header * core-put: fix copyright * core-put: move put helpers to core-put.h * stress-cache: make helper asm functions inline * core-mwc: move mwc struct typedef to core-mwc.c * stress-affinity: constify a couple of variables * stress-ng.h: Add in some spaces between #includes * stress-atomic: update copyright * stress-af-alg: constify some string pointers * stress-atomic: clean up macros * stress-switch: use the set_default callback to set the default method * stress-ng.h: cleanup, re-ordering, comment updates * core-perf: add NMI perf metric * stress-ng.h: move per-stressor macros to stressors * stress-fault: move initialization of i, update copyright * stress-fanotify: comment struct fields, update copyright * core-cpu: update copyright year * core-cache: add TiB and clear up some minor space formatting * stress-vecwide: limit to 2K wide * stress-switch: update copyright * stress-switch: add mq and sem-sysv methods * stress-null: exercise more with fcntl and ioctl * stress-null: add lseeks to /dev/null for more kernel exercising * stress-memthrash: add check for SSE2 for non-temporal writes * stress-memthrash: update copyright * stress-memthrash: add a 8 x 64 bit memset using non-temporal stores if possible * stress-memrate: only use non-temporal stores for SSE2 enabled CPUs * core-cpu: add sse and sse2 CPUID checks for x86 * stress-hash: add mulxror64 hash * Manual: move kvm options to correct place in manual * stress-hash: add 3 more hash functions to the mix * stress-str: remove assignment after typedef * README.md: Add Intel icc compiler notes * README.md: Add alpha to architectures validated with stress-ng * stress-str: fix index() test, remove code that got incorrectly merged in * stress-sparsematrix: deprecate judy arrays for 32 bit systems * stress-str,wcstr: deconsitify void * func pointer * README.md: add another linux commit that used stress-ng to improve performance * Various changes to make stress-ng build with the Intel compiler icc * core-cache: use correct type for value * Fix pcc and tcc build issues, add pcc + tcc version information * stress-ng.h: don't used deprecated attribute for non-gcc/clang toolchains * stress-enosys: disable x86 syscall exercising for tcc builds * stress-hash: make functions static * Disable deprecated warnings for pedantic builds * core-hash: Add in missing const to pointers * stress-hash: add 32 bit fetch optimized coffin hash * core-hash: add HOT attribute to hash functions * stress-hash: remove md5crc32c, it is way too slow * stress-hash: remove debug * stress-hash: check for error return string marker in md5 crypt result * stress-hash: don't exercise md5 if it fails * core-hash: add more hash methods * core-hash: Move adler, muladd32 and mullad64 from stress-hash to core-hash * stress-mwc: rename stress_mwc_seed and add stress_mwc_get_seed * stress-hash: add OPTIMIZE3 -O3 hint on adler hash function * stress-cache: constify bucket parameter * stress-hash: fix --verfiy checksum values * stress-hash: align buffer to 64 byte boundary * stress-hash: add the adler32 hash * stress-hash: add 3 more simple hash methods and a goodness score * Add --keep-files option * core-helper: unlink should be rmdir for failed stress_temp_dir_mk * stress-hash: remove empty line * stress-hash: use variable rate for hashing rate calculation * stress-hash: correct the big endian murmur3_32 hash checksum * stress-prctl: use linux uapi defined names for prctl * stress-sigsegv: add int instruction to trigger SIGSEGV on x86 * stress-sparsematrix: clean up variable name shadowing * stress-hash: constify a parameter * Move cpu hash stressors into a new hash test stressor * stress-chattr: add more yield points during chattr exercising * stress-fpunch: update copyright * stress-aio: update copyright * stress-aio: don't warn if cancelled is OK or EINTR * stress-fpunch: make children more yielding * stress-ng: ensure checksum region is large enough * stress-sparsematrix: use shim'd strlcpy to fix build issues (#170) * stress-cpu: fix crc32c checksum verification check * stress-sparsematrix: clean up some tab/whitespaces * stress-sparsematrix: add non-sparse mmap and sparse qhash methods * stress-cpu: add CRC32C to hash random strings * stress-sparsematrix: remove SIGALRM handling, replace with yield points * stress-sparsematrix: bail out early if put fails * stress-sparsematrix: make sparse destroy a void return func * stress-sparsematrix: add error checking in put failures * stress-sparsematrix: make del() void since the error return is ignored * stress-sparsematrix: optimize get(), return value rather than by pointer arg * stress-sparsematrix: add implementation using judy arrays * stress-sparsematrix: Add a sparse matrix memory/cache stressor * stress-crypt: add yield point per crypto iteration * stress-dev: add yield point while scanning for available devs * stress-misaligned: add yield point when scanning through list of functions * stress-misaligned: add more yield points for slower emulated systems * stress-pipeherd: add yield check on startup -- Colin Ian King Sat, 29 Jan 2022 23:24:25 +0100 stress-ng (0.13.10-1) unstable; urgency=medium * Makefile: bump date and update copyright year * Manual: update date * stress-kvm: rename regs to kregs to avoid name shadowing * core-shim: typedef statx buf to simplify different statx sizes * stress-set: only #define some macros if they are not already defined * stress-get: only #define some macros if they are not already defined * stress-memfd: only use MAP_POPULATE if it is defined * core-shim: make shim_cacheflush use builtin gcc variant where applicable * stress-ng.h: Add MIPS arch macro * stress-cache: disable cache flags one by one if SIGILL occurs * stress-cache: add cldemote instruction runtime and build time checks * core-shim: fix typo in cacheflush wrapper on bytes/nbytes arg * core-shim: use shim statx struct for __NR_statx call * stress-ng.h: don't define HAVE_GETCPU and HAVE_GETTID * stress-ng: voidify return from write * stress-syncload: remove need for atomic reads of start time * stress-syncload: remove stress_syncload_settime * core-shim: fix statx shim for non-Linux systems * stress-shm: zero msg struct to clean up valgrind warning * stress-schedpolicy: zero structs on get calls to silence valgrind warnings * stress-numa: memset nodemask to keep valgrind happy * stress-tmpfs: only define TMPFS_MAGIC if it is not already defined * stress-inode-flags: flags argument should be long int rather than int * stress-syncload: fix atomic load arg order reversal * stress-context: zero all context bytes to keep valgrind happy * stress-dev: add usb core device ioctl exerciser * stress-ng: improve error clean-up paths in main * stress-mcontent: update copyright year * stress-mcontend: add check for pause instruction * stress-cache: update copyright year * stress-ng.c: use static buffer to format message, write to stderr * stress-cache: remove space between arguments in function call * stress-dev: use invalid keycode to stop ESC being remapped * stress-sleep: update copyright * stress-sleep: add nanosecond sleep delays using pselect * stress-dev: remove debug continue statement * stress-dev: add yield point check while traversing devices * stress-fiemap: remove blank line * stress-dev: remove hashing, replace with device list and device state * stress-kill: kill unused pid for -ESRCH error * stress-fallocate: remove empty line * stress-eventfd: remove empty line * stress-procfs: rework procfs reverse read to force misaligned reads * Forgot to commit changes to stress-ng.h * core-shim: add missing comment blocks * core-shim: add statx system call autobuild detection * core-shim: Add mlock2 system call autobuild detection * core-shim: Add unshare system call autobuild detection * core-shim: Add memfd_create system call autobuild detection * core-shim: Add getrandom system call autobuild detection * core-shim: Add getcpu system call autobuild detection * core-shim: Add gettid system call autobuild detection * core-shim: Add cacheflush system call autobuild detection * stress-nop: add a random nop option * stress-nop: add S390 nopr nop variant * stress-nop: add mdoio, mdoom and yield nops for PPC64 * stress-kvm: re-word kvm help text, remove CLASS_MEMORY flag * stress-kvm: Fix GPL comment boilerplate * stress-kvm: don't treat EINTR on KVM_RUN as an error * Add Linux kvm stressor, initially just supporting x86 * stress-memfd: remove some blank lines * stress-memfd: clean up some minor white space issues * core-hash: remove UNLIKELY macro, it confusing cppcheck * core-cpu: update copyright and add more comment blocks * stress-softlockup: update copyright * stress-softlockup: remove redundant unset global timeout check * stress-softlockup: print some messages only from 1st instance * stress-procfs: fix pr_* messages, use correct stressor name and path name -- Colin Ian King Tue, 4 Jan 2022 22:20:02 +0100 stress-ng (0.13.09-1) unstable; urgency=medium * stress-syncload: add build time check that atomic ops on doubles is supported * stress-ng.h: Make start_time naturally aligned for improved atomic performance * stress-syncload: Remove sched yield * stress-ng.h: no need for start_time to be volatile * stress-syncload: use atomic load/store in preference to spinlock * stress-synload: add yield points for OS X builds * stress-x86syscall: reduce the scope of variable str * stress-x86syscall: reduce the scope of variable str * stress-randlist: reduce the scope of variable i * stress-aio: reduce the scope of variable ret * stress-cache: ensure variable cpu is not clobbered * stress-syncload: only declare ret if it is required * core-vmstat: only build stress_find_mount_dev for linux * core-vmstat: make stress_find_mount_dev static * stress-vforkmany, fork: use indirect vfork call * stress-nop: inline each nop instruction and add Kalray VLIW nop * stress-cache: ensure variable masked_flags is not clobbered * stress-bad-altstack: use valid smallest alternative stack * stress-skiplist: zero allocated list items and free list on alloc failure * stress-*fork: use vfork shim wrapper macro to use syscall or vfork * stress-memthrash: define stress_memthrash_flush only for x86 * stress-pthread: use calloc'd stack in preference to mmap'd one * Add hppa architecture and disable sigaltstack * stress-cache: move on to next round if SIGSEGV occurs w/o timeout * stress-cache: add more SIGSEGV detection and fix ret return * test-fanonify: remove include of stress-ng.h * core-cache: only perform sparc cache checks for sparc builds * stress-fp-error: workaround 1 / PI inexact fp error issue * core-cache: add Linux arch Alpha cache size detection * stress-ng.h: ensure ARCH specific #defines are defined to a value * Rename ARM asm macros and tests with ARM in name, part #1, ARM * Rename ppc64 asm macros and tests with ppc64 in name, part #1, ppc64 * Rename x86 asm macros and tests with x86 in name, part #1, x86 * Add autocheck of clflush x86 instruction and check if it is available at run time * Rename STRESS_ARCH_RISC_V to STRESS_ARCH_RISCV * Add RISC-V memory fence shim helper * core-vmstat: update copyright * stress-readahead: Update copyright * stress-iomix: update copyright * stress-iomix: try to drop cached data after sync'd to file * stress-iomix: add in missing comment * stress-iomix: add madvise calls to make reads more effort * stress-readahead: add fadvise call to try and drop cached data * core-vmstat: remove some trailing white spaces * core-vmstat: improve device name lookup for iostat * stress-ng: Fix --temp-path directory checking (#163) -- Colin Ian King Sun, 19 Dec 2021 20:42:44 +0100 stress-ng (0.13.08-1) unstable; urgency=medium [Alexander Kanavin] * Do not preserve ownership when installing example jobs [John Kacur] * stress-ng: Fix potential overrun in msgsnd [Colin Ian King] * Makefile: bump version * Manual: update date and update contributors * stress-misaligned: disable atomic ops for SH4 * stress-randlist: ensure memory pointed to by ptrs is free'd * debian/control: update standards version to 4.6.0 * stress-randlist: clear up gcc warning on openhipster * stress-cache: make loop variable j a register volatile * stress-sigfpe: add work around for M68K linux devices * stress-sigfpe: annotate expected use of specific fpe flags * stress-sigfpe: Add comment regarding floating point division by zero * Add syncload synchronized bursty load stressor * stress-ng: reformat long_options, align 2nd value * stress-randlist: fix the class type * stress-stackmmap: stash non-stack address to clean up scan-build warning * test/test-pthread-attr-setstack.c: remove redundant assignment to ret * stress-secretmem: fix memory leak on object mappings * test/test-getmntent: exercise mount struct * test/test-libkmod: voidify variable module_name * test/test-timer-create: remove redundant variable t * stress-dev: remove redundant assignment to variable claimed * stress-prctl: voidify return from prctl calls * stress-x86syscall: fix --x86syscall-func segfault * test/test-__restrict: use src dst names for ptr2, ptr1 and fix eos check * stress-mincore: unmap before closing fd, fixes a hidden file issue on fuse * stress-mcontend: unmap before closing fd, fixes a hidden file issue on fuse * stress-rmap: unmap before closing fd, fixes a hidden file issue on fuse * stress-ng: make pr_inf stat error message a verbose debug error message * stress-mincore: close fd before removing directory * stress-mcontend: close file early, ensure directory is deleted on error * stress-verity: add ENOSYS error return check for non-implemented verity functionality * stress-timer: set timer on each timer duration update * README.md: Add one more project citation * stress-goto: add a new stressor to exercise heavy goto branching * core-cpu: annotate cpuid registers that need to be set and values returned * stress-hrtimers: update copyright * stress-hrtimers: add --hrtimers-adjust for automatic rate adjustment * Rename stress_check_value to stress_check_max_stressors * stress-smi: use no-op command instant of 1 to trigger SMI * stress-cache: fix build issue * stress-cache: remove some white spaces * stress-cache: add --cldemote option * stress-cache: use random cache flags if none are provided * core-cpu: remove unnecessary inner #ifdef'd code * stress-cache: add --clflushopt option * Replace char *str = "text" with char str[] = "text" * core-cpu: declare stress_cpu_x86_extended_features only for x86 arches * stress-rdrand: only allow --rdrand-seed if rdseed instruction is available * Remove need for HAVE_CPUID_H and HAVE_CPUID checks * Remove __get_cpuid usage and build checking * stress-smi: use stress_cpu_x86_has_msr helper * stress-x86syscall: use stress_cpu_x86_has_syscall helper * stress-tsc: use stress_cpu_x86_has_tsc helper * stress-rdrand: use stress_cpu_x86_has_rdrand helper * stress-enosys: don't use __cpuid and check for SIGILL on syscalls * stress-cpu: use stress-ng cpuid rather than gcc __cpuid * core-cpu: add stress-ng x86 cpuid implementation * stress-lockbus: add sync_bool_compare_and_swap * stress-ng: make a couple of the inline helpers always inline * Fix some spelling mistakes in comments * core-perf: Add Cgroup Switches and add missing tab in CPU Migrations * stress-ng.h: implement shim_clflush as a cacheflush call * stress-memrate: use clang __builtin_nontemporal_store * stress-numa: exercise invalid MPOL_F_NUMA_BALANCING | MPOL_LOCAL mbind options * stress-memrate: add non-temporal (cacheless) writes for x86 * stress-fanotify: add FAN_FS_ERROR flag -- Colin Ian King Tue, 7 Dec 2021 13:19:23 +0100 stress-ng (0.13.07-1) unstable; urgency=medium * Makefile: bump version * Makefile: update copyright * manual: update date, author email and copyright * debian/copyright: update copyright * debian/control: update email address * stress-resched: move declaration of j, clean up build warning * stress-resched: fix build error on systems without sched_setscheduler * stress-sigq: exercise invalid signal on rt_sigqueueinfo call * core-log: don't open/close stdout, use fileno on stdout instead * stress-ng: remove commented out stress_set_proc_name call * stress-vecwide: add a wide vector math stressor * Makefile.config: add alderlake optimization target clones * stress-filename: stat file before creation, during and after unlink * stress-prctl: exercise Linux 5.15 ARCH_GET_XCOMP_ arch_prctl calls * stress-vm: add grayflip method. * debian/control: update standards version * stress-hdd: ensure offset is aligned to 512 byte boundary * Refine target-clones attribute to determine attributes at build time * stress-prctl: fix typo in comment: fine -> find * stress-futex: add Linux 5.16 futex_waitv call * Make one thousanth, one millionth and one billionth constants * core-vmstat: remove tabs and spaces * stress-atomic: add more contention by running 4 processes per stressor * stress-atomic: use lower optimization level on sh gcc * core-time: scale by multiplying by one millions * Add --resched rescheduling stressor -- Colin Ian King Mon, 16 Nov 2021 00:01:02 +0000 stress-ng (0.13.06-1) unstable; urgency=medium [Alexander Kanavin] * Makefile: do not write the timestamp into compressed manpage. [John Kacur] * stress-ng: Conscientious Language effort [Colin Ian King] * Makefile: bump version * Debian: update control - use ubuntu email * Add autobuild detection of sys/loadavg.h * stress-rdrand: add missing 2x32 read variant of rdseed * stress-dev: optimization: cache all dev entries in a hash table * debian/watch: update to use github tarball name mangling * debian/copyright: Fix URLs to project and email contact * Rename HAVE_STRLCPY and HAVE_STRLCAT to fix Nixos libbsd macro clash * stress-bad-ioctl: optimization: cache a copy of all dev names * voidify returns from fflush and fprintf calls * stress-mmap: exercise OpenBSD mquery system call on mapped pages * stress-madvise: add OS X MADV_ZERO_WIRED_PAGES madvise advise * stress-madvise: Add OpenBSD MADV_SPACEAVAIL madvise option * stress-mmap: Add some missing NetBSD and OpenBSD mmap flag types * Add stress_killpid helper to kill and fast reap memory * stress-bad-altstack: make stack write-only to cause double trap * stress-prefetch: stash pre_ptr to force compiler to use it in the benchmark loop * stress-kill: fix incorrect voidification of return value from kill * stress-vm-splice: break open statement into two statements * stress-branch: update copyright * stress-branch: remove empty line * stress-branch: shrink branch code, increase branches from 256 to 1024 * README.md Add another link to a performance regression found by stress-ng * stress-rdrand: add option to exercise rdseed x86 instruction * core-thermal-zone: replace non-alpha/digits in type name with _ * core-vmstat: disable iostat for non-linux systems * stress-atomic: don't perform atomic 64 bit ops on 32 bit platforms * core-vmstat: ensure all fields in vmstat_current are zero'd * stress-ng.h: Don't include sys/sysctl.h in Linux, it has been deprecated * Makefile.config: Fix sys/vmmeter.h autodetection * stress-atomic: Add finder build time detection of atomic intrinsics * core-vmstat: Add FreeBSD implementation to system statistics * core-helper.c: fix typo, GETLOADAVG should be HAVE_GETLOADAVG * core-vmstat: fix buffer overrun on therms * Add build time detection for getloadavg * Debian control: update homepage URL * README.md: Add tarball version information * Add build time pragma support detection * stress-bad-altstack: move pragmas to be around the function stress_bad_altstack_force_fault * stress-smi: make not being able to load a module non-fatal * core-vmstat: don't build in iostat metrics if major/minor macros aren't available * REAME.md: Fix typo, 650 -> 260 -- Colin King Thu, 28 Oct 2021 09:36:17 +0100 stress-ng (0.13.05-1) unstable; urgency=medium * Makefile: bump version * Makefile: rename README to README.md in the make dist rule * Manual: update date * README.md: Add note to run make clean after git fetch * README.md: add some examples * README.md: Clean up white spaces in markup * README.md: add citations * README: Rename to README.me and add github style markdown * Revert "stress-aio-linux: clean up valgrind uninitialized memory warnings" * stress-dev: only define PPGETTIME{32|64} if PP_IOCT is defined * stress-ng.h: Fix missing \ in STRESS_PRAGMA_WARN_OFF macro * Revert "stress-cache: add clobbering warning pragma workaround" * stress-cache: add clobbering warning pragma workaround * stress-dev: don't declare stress_dev_scsi_generic_linux for non-linux targets * stress-dev: remove EMU debug message * stress-aio: clean async io cancel, check status with aio_error * stress-vm: clear up volatile discards warning with pedantic build * stress-kill: send signals to a child process to add more stress * stress-branch: double number of branch points, makes prediction harder for CPU * stress-vm: add mscan vm memory exercising method * stress-malloc: add yield point in stress_malloc_page_touch * stress-link: make reandom number index size_t * stress-get: initialize some objects to keep valgrind happy * stress-dirdeep: fix cleanup of dirent objects * stress-aio: add polled wait for completion * stress-aio-linux: clean up valgrind uninitialized memory warnings * stress-context: memset context requires and more sigaltstack * stress-hsearch: free hash items * core-smart: re-write begin/end checks * stress-thermal-zone: don't pass a null type to stress_tz_type_instance * Manual: clarify the semantics of the --timeout, -t option * stress-uprobe: ensure libc.so is also matched as a valid libc so name * Manual: remove GNU tbl extensions for table widths * stress-dev: exercise Linux scsi generic ioctls * stress-io-uring: keep track of unsupported opcodes * stress-fpunch: add yield check while populating test file * stress-io-uring: print opcode name to help decode opcode to human readable text * stress-dev: add parallel port ioctl device exercising * stress-io-uring: add statx and sync_file_range io-uring ops * stress-crypt: add some more crypto methods to exercise * stress-cpu-online: just limit to maximum of 65536 cpus * stress-context: rename __ prefix with suitable name * stress-context: remove empty line * core-thrash: add more slab work by attempting to shrink slabs * stress-dev: add hwrng exercising for linux * stress-dev: shuffle dev names rather than mixup sort * stress-dev: add Linux floppy disk ioctls to dev stressor * stress-iomix: add sync'ing on written data at most every second * Add new --no-oom-adjust option to disable all oom adjustments * core-out-of-memory: fix inverted check on oomable process * stress-ng: add missing ftrace and oomable options from --help output * snapcraft: change project repo URL -- Colin King Mon, 11 Oct 2021 18:18:18 +0100 stress-ng (0.13.04-1) unstable; urgency=medium * Makefile: bump version * stress-fallocate: Fix ENOENT failure messages * stress-sock: remove redundant variable msg_len * stress-dccp: remove redundant variable msg_len * stress-prefetch: add missing volatile in pointer cast * core-vmstat: optimization: remove check for non-null * core-vmstat: reduce scope of variable ret * stress-mergesort: don't jmp out of mergesort on NetBSD * stress-vm-segv: Fix weird hangs on DragonFlyBSD * stress-chmod: add EPERM check to systems that also support EFTYPE * stress-rmap: fix rmap bogo-ops threshold * Fix typo: HAVE_LOFF_T -> HAVE_OFF_T * Add off_t type detection and use it if loff_t is not defined * stress-prefetch: prefix macros with STRESS_ to avoid FreeBSD macro conflict * stress-prefetch: fix mmap/munmap type warnings on OpenHipster * stress-prefetch: use correct format specifier for size_t variable l3_data_mmap_size * stress-prefetch: add stress_void_ptr_put and use it to stash pointers * stress-prefetch: Add a L3 prefetch read benchmarking stressor * stress-fifo: exercise invalid mmap on fifo fd * stress-fifo: periodically exercise FIONREAD on read end of pipe * stress-fifo: periodically perform invalid lseek on pipe fd * stress-pthread: use phread_mutexattr calls to use priority inheritance * stress-misaligned: perform misaligned read/writes on page and cache boundaries -- Colin King Tue, 28 Sep 2021 11:02:11 +0100 stress-ng (0.13.03-1) unstable; urgency=medium * Makefile: bump version * stress-remap: Fix build failure on systems without MAP_POPULATE -- Colin King Fri, 17 Sep 2021 12:33:12 +0100 stress-ng (0.13.02-1) unstable; urgency=medium [Fabien Malfoy] * core-helper: Quote the system-info.version value in YAML metrics [Danilo Krummrich] * core-vmstat: fix trim of devnames for nvme devices [Colin Ian King] * Makefile: bump version * Manual: update update contributors list and date * Signed-off-by: Colin Ian King * core-vmstat: make helper function static and constify arg * stress-opcode: clean up clang-11 pedantic build warning * stress-aio: perform retry if EBUSY occurs * stress-vm: constify end pointers * stress-stream: constify pointers idx1, idx2, idx3 * stress-opcode: make pointer ops_end const * stress-msync: make pointer buf const * stress-mcontend: constify pointer vdata * stress-malloc: move scope of ptr and end, constify end * stress-malloc: make parameters counters const * Treewide: fix spelling mistakes and typos * stress-cpu: use the __builtin_parity function if it is available * core-vmstat: fix assignment that should be a comparison * stress-io-uring: silently ignore ENOSPC failures * stress-io-uring: fix typo in comment * stress-prctl: move } around #endif * stress-procfs: add reverse seek/reads on non fifo procfs entries * stress-swap: periodically create invalid swap header * stress-loop: exercise invalid ioctl on loop control device * stress-loop: exercise invalid block sizes * stress-loop: perform invalid removal of device -1 * core-vmstat: use '\0' end of string rather than 0 * snapcraft: move to core20 and add some extra build dependencies in * Manual: update contributors list * stress-fanotify: add Linux 5.15 FAN_REPORT_PIDFD option * stress-ng: --thrash: drop caches at random periodical intervals * stress-prctl: remove tabs * core-vmstat: use shim_strlcpy instead of strcpy * stress-prctl: add Linux 5.15 PR_SPEC_L1D_FLUSH operation * core-vmstat: trim from dev name not the stat file * core-vmstat: handle devices such as /dev/sda1 -> /dev/sda * core-helper: handle SIGSTKSZ being potentially a sysconf call * Add --iostat option to periodically dump out I/O stats * stress-ng: fix dynlib-ops command, typo in dynlib * stress-loadavg: Fix spelling mistake "averge" -> "average" * stress-vm-rw: remove extraneous space in error message * stress-numa: add new MPOL_PREFERRED_MANY option * kerne-coverage: add more file system options and stressor test scenarios * Manual: fix context switch --switch-freq option -- Colin King Tue, 14 Sep 2021 14:14:14 +0100 stress-ng (0.13.01-1) unstable; urgency=medium [Maxime Chevallier] * stress-ng: Fix random stressor assignment [Colin Ian King] * Makefile: bump version * Manual: update date * stress-kcmp: move close to avoid fd1 leak on exit * stress-set: no need to initialize fsgid, remove assignment * stress-hdd: fill write/read buffer with random data * stress-set: initialize uid/gid variables * Add yielding check and success exit if we timeout * stress-fork: don't use getpgid if it is not available * stress-dir: only use mkdirat if it is available. * stress-hdd: voidify fd to clean up Minix build warnings * stress-wait: fix build warning on Minix * stress-pkey: add pkey_set build time detection * stress-pkey: add pkey_get build time detection * test: use pkey_mprotect call rather than system call * test: use pkey_alloc call rather than system call * stress-pkey: use pkey call if it is available * stress-xattr: fix build error when XATTR_SIZE_MAX is not defined * stress-sockpair: fix name shadowing of variable ret * stress-seccomp: unconstify seccomp_actions, clean up build warning * stress-malloc: rename malloc_touch to avoid name shadowing * stress-exit-group: remove duplicated declaration of ret * stress-set: exercise getresgid with valid and invalid arguments * stress-sem: exercise semop and semtimedop with invalid arguments * stress-sem-sysv: exercise semget with some invalid arguments * stress-sem-sysv: exercise semctl with invalid cmd parameter * stress-mq: cast UINT_MAX to long to clean up pedantic build warning * stress-seccomp: add more seccomp operation tests * core-try-open: voidify return from alarm, we are ignoring it * stress-madvise: only used MADV_* flags if they are defined (part 2) * stress-madvise: only used MADV_* flags if they are defined * stress-ramfd: exercise umount2 with and without illegal flags * Add build time check for umount2 system call * stress-userfaultfd: exercise userfaultfd with invalid flags * stress-swap: exercise invalid swapon flags * stress-swap: exercise invalid swapoff filename * stress-sock: exercise setsockopt invalid arguments * stress-set: exercise setresuid more thoroughly * stress-set: exercise setresgid more thoroughly * stress-fork: exercise invalid setpgid calls before child dies * stress-set: add missing voidified ret * stress-numa: exercise set_mempolicy with incompatible mode flags * stress-sigpending: exercise sigprocmask with some more options * stress-rseq: add a couple more invalid rseq calls * stress-key: exercise request_key with invalid arguments * stress-remap-file-pages: exercise with illegal prot flags * stress-quota: exercise quotactl Q_SYNC flush all NULL device name * stress-ptrace: exercise invalid ptrace calls * Makefile: force V to be undefined to avoid make V=1 build failures * stress-msg: remove empty line * stress-fstat: exercise statx with invalid arguments * stress-madvise: exercise process_madvise with invalid arguments * stress-hdd: add invalid read/write family calls * stress-sockpair: exercise invalid socketpair calls * stress-sock: exercise invalid sock calls * stress-numa: exercise move_pages with NULL nodes argument * stress-msg: exercise msgrcv with invalid arguments * stress-mq: exercise msgctl IPC_SET for more kernel coverage * stress-mq: exercise invalid mq_timedreceive and mq_receive calls * stress-mq: exercise invalid mq_unlink calls * stress-mq: exercise mq_close with invalid mq descriptor * stress-mq: exercise invalid mq_send* calls * stress-mq: exercise mq_open with various invalid arguments * stress-mq: exercise invalid mq descriptor on mq_notify * stress-mq: exercise invalid mq descriptor on mq_getattr/mq_setattr * stress-mremap: workaround pedantic static analysis warnings * stress-mremap: exercise invalid flags and new size * stress-mmap: call with invalid offset * stress-open: exercise openat2 with invalid usize argument * stress-handle: exercise open_by_handle_at with another bad fd * stress-pkey: exercise pkey_free with invalid pkey id * stress-pkey: exercise pkey_alloc with invalid access_rights * stress-aio-linux: exercise invalid io_submit calls * stress-aio-linux: exercise invalid io_setup calls * stress-aio-linux: exercise invalid io_getevents calls * stress-aio-linux: exercise invalid io_destroy calls * stress-aio-linux: exercise invalid io_cancel calls * stress-sigio: add yield checking while consuming data from SIGIO event * stress-sigio: don't report EINTR as errors on selects * stress-xattr: fix incorrect voidification of variable * stress-xattr: exercise invalid filename on listxattr calls * stress-xattr: remove overly long attribute to force ERANGE * Add stress_redo_fork helper to check errno and keep stressing flag * stress-bad-altstack: add altstack usage inside signal handler * stress-clone: exercise invalid modify_ldt arguments * stress-mknod: exercise invalid fd in mknodat call * stress-dir: exercise invalid fd on mkdirat call * stress-copy-file: exercise copy_file_range with invalid fds and flags * stress-membarrier: add build time check for MEMBARRIER_CMD_FLAG_CPU * stress-loadavg: voidify function return values * stress-fallocate: Add one more invalid mode combo * stress-dirdeep: exercise linkat with invalid flags * stress-readahead: exercise invalid offset and lengths for posix_fadvise * stress-close: exercise invalid flags in fchownat call * stress-sock: use invalid flags for accept4 call * stress-readahead: replace whitespace with tabs. * stress-sigio: drain as much as possible in SIGIO handler * stress-readahead: exercise illegal readahead on write-only file * stress-handle: exercise EOVERFLOW on small buffer * stress-msync: exercise invalid flags field in msync * stress-memfd: add some more invalid memfd pathnames * stress-kcmp: exercise kcmp with invalid PIDs * stress-membarrier: add missing cpu_id arg to membarrier call * stress-fpunch: add more yield points * stress-cap: exercise capset with invalid version and PID * stress-cap: exercise capget with invalid version and PID * stress-utime: exercise utimensat with illegal flags * stress-wait: exercise wait4 with various alternative options * stress-klog: exercise some invalid syslog read operations * stress-dev: avoid any actions on owner's tty * stress-cache: Add NOCLOBBER hints to pinned clean up build warnings * stress-alarm: Add alarm(2) and sleep(3) stressor * stress-kill: exercise illegal signal numbers and PID * stress-exit-group: fix mutex cleanup on exit * stress-cache: add NOCLOBBER hints to total and r to clean up build warnings * stress-key: only use KEYCTL_INVALIDATE if it is defined * Add new exit_group stress test. * stress-pidfd: use the new process_mrelease call on pre-waited process pidfd * core-shim: add wrapper to process_release * stress-cache: remove shim_clflush on bad_addr, breaks OS X * stress-malloc: move initialization of malloc_threshold to #ifdef block * stress-cache: remove __builtin___clear_cache call on bad_addr (LP: #1940593) * stress-get: exercise invalid rusage who fields * stress-key: exercise add_key with a range in invalid arguments * stress-sigfd: exercise signalfd4 with invalid mask pointer size * stress-sigq: add invalid SI_TKILL rt_sigqueueinfo call * stress-remap-file-pages: disable for SPARC * stress-ng.h: Add STRESS_ARCH_SPARC sparc arch macro * stress-cache: add in periodic invalid cache flush operations * stress-ng: disable SIGLARM alarm once child stressor has returned * stress-get: add a couple more test cases for ugetrlimit * stress-chroot: fix use-after-free error when free'ing path * stress-timer: add commented out invalid timer_delete call * stress-brk: add mergeable page hint with madvise * core-shim: use brk system call in preference to libc wrapper * stress-chroot: add two more corner test cases, add more comments * stress-cpu: add 16 bit division method div16 * stress-hdd: remove tab on empty line * stress-fpunch: fix typo in comment * stress-malloc: add --malloc-touch option to aggressively force pages into memory * stress-zlib: add some missing constifications * stress-vdso: make static array wrap_funcs const * stress-tun: make string buffer static const * stress-sysfs: make static string signum_path const * core-sched: constify static array sched_types * stress-nop: Fix opt_set_funcs undeclared * Manual: update contributors list * Manual: minor corrections in the cpu methods documentation * stress-l1cache: add a missing newline in the source * stress-fpunch: create temp file with holes and multiple extents * stress-affinity: add --affinity-sleep nanosleep delay option * stress-affinity: whitespace and comment clean-up * stress-revio: use stress_get_extents helper * Add file hole punching (and filling) stressor, --fpunch * stress-wait: constify pid_arg argument * stress-cpu: make variable solutions const, add some line spacing * stress-cpu: move queens_solutions into function * stress-cpu: make array factorials const * core-helper: remove some blank lines and add a missing comment block * stress-pidfd: fix comment, add missing "don't" * voidify return from various sleep calls * Clean up kill calls, voidify returns and remove unwanted debug kill -- Colin King Mon, 1 Sep 2021 17:57:59 +0100 stress-ng (0.13.00-1) unstable; urgency=medium * Makefile: bump version * stress-userfaultfd: constify a couple of function arguments * stress-timerfd: move label to inside if #ifdef * stress-pci: reduce the scope of pci_path * stress-pci: use unsigned int for %x sscanf format specifier * Manual: update date * core-helper: declare extern __stack_chk_fail * stress-loadavg: Fix build warning on unused pthread flags * stress-loadavg: fix build error on systems without pthreads * stress-mmaphuge: fix info name, copy-n-paste error * stress-mmaphuge: define HUGE macros only if MAP_HUGE_SHIFT is defined * stress-ng.h: remove toolchain check for NOCLOBBER macro * Add asm("") and builtin_expect() built time checks * stress-funccall: only define complex types if complex is supported * stress-ng.h: use HAVE_BUILTIN_MEMMOVE for __builtin_memmove usage * stress-io-uring: rename variable iov_len to iov_length to fix pcc failure * stress-funccall: only define complex types if complex is supported * Add __restrict keyword build time check * stress-shm-sysv: remove some commented out debug cruft * stress-shm-sysv: fix random key generation * stress-shm: fix comment, it is a POSIX shm stessor not SYS V * stress-shm-sysv: exercise shmat with RND option a little more * stress-hdd: ensure read is sync'd to the same random offsets as write * stress-hdd: fix --verify option * stress-opcode: allow child to die badly silently * Add new line between declaration and first executable statement * Add a huge page memory mapping stressor --mmaphuge * stress-mlockmany: add --mlockmany-procs option * help: wrap overly wide help text to tty width * core-helper: add stress_tty_width to get column width of terminal * stress-rawdev: fix typo in help * stress-list: add spaced between list options in help * stress-nop: add missing INSTR arg to nop-instr help * stress-rdrand: add rdrand instruction asm check * Break wide macro line into multi-line #define * Add stress-ng specific stack smashing error message * stress-nop: fix typo in --nop-instr help * Rename macro HAVE_DARN to HAVE_ASM_DARN * stress-nop: add --nop-instr option to specify nop instruction * stress-timerfd: add --timerfd-fds option to specify max fds to use * stress-bad-altstack: disable warnings on known illegal null ptr dereference * stress-dirmany: Add a stressor to rapidly create/remove empty files * Skip error messages on no resource skip stressor terminations * Add load average stressor, try to create insane load averages * stress-pthread: report strerror of correct error return value * stress-resources: Add timerfd_create/close * stress-timerfd: Add build time checks for timerfd_* calls * stress-resources: exercise pidfd_open, waste more fds * stress-open: use O_NDELAY open flag * stress-resources: reap pthread only if it was started * Add build time checks for complex creal and cimag libm functions * stress-funccall: re-organize to reduce #ifdef checking * stress-funccall: add some more types to pass * stress-physpage: exercise /dev/mem mmap'ing * stress-pci: update some comments, fix date * Add new PCI sysfs stressor to read/mmap PCI config and resources * Remove trailing tabs from various sources * stress-prtcl: use shim'd enum for PIDTYPE values * Determine minimal stack size via sysconf, then PTHREAD_STACK_MIN then guess * stress-memcpy: add naive_o0 and naive_o3 options * stress-af-alg: no need to report zero unused algorithms * core-madvise: Add MADV_POPULATE_READ and MADV_POPULATE_WRITE flags * stress-madvise: add MADV_POPULATE_READ and MADV_POPULATE_WRITE flags * core-mincore: use MADV_POPULATE_READ to fault pages in * Manual: update contributors list * stress-io-uring: fix typo in comment * stress-affinity: add new --affinity-pin and --affinity-delay options * core-helper: don't emit not implemented messages with --skip-silent * Manual: minor cleanups -- Colin King Mon, 2 Aug 2021 18:58:47 +0100 stress-ng (0.12.12-1) unstable; urgency=medium * Makefile: bump version * stress-smi: move "us" time closer to the time * stress-sock: Add return at end of stressor, cleans up cppcheck warning * core-setting: remove commented out line * stress-sockabuse: Add return at end of stressor, cleans up cppcheck warning * tests: add missing return at end of main * Add build time check for __get_cpuid() * stress-smi: remove tsc helper function, it is not required * stress-madvise: add NOCLOBBER annotation on ret * stress-mmapfixed: move unmap label inside #ifdef block * core-madvise: voidify function args for systems that don't support madvise * Add new munmap stressor, exercises munmap and fault handling * core-out-of-memory: rename signal to signal_idx to avoid name shadowing * core-helper: rename dirname to directoryname to avoid name shadowing * core-cache: rename index to idx to avoid name shadowing * stress-syscall: rename syscall to syscall_num avoid name shadowing * stress-rawudp: rename sin to s_in avoid name shadowing * stress-open: rename times to tv avoid name shadowing * stress-link: rename tmpfile to tmpfilename avoid name shadowing * stress-judy: rename index to idx to avoid name shadowing * stress-*: rename dirfd to dir_fd to avoid name shadowing * stress-branch: rename index to idx to avoid name shadowing * kernel-coverage: add vm option variations of fork, vfork and vforkmany * stress-fork: add --fork-vm and --vfork-vm options to exercise VM more * core-smart: ensure devs pointer is null * stress-vforkmany: add --vforkmany-vm to exercise VM more * stress-mmapfixes: use STRESS_OOMABLE_QUIET to silence faults * stress-mmapfixed: only perform fixed mapping on unmapped pages * core-helper: make static char array b36 const * core-hash: make primes array const * core-cache: format struct initialization in the coding style * Manual: update date and fix smi formatting * stress-smi: add smi entry in manual, make bogo-ops more frequent * stress-smi: use SHIM_CAP_SYS_RAWIO instead on CAP_SYS_RAWIO * test/test-libkmod: clean up test code * core-smart: only define helpers for stress_smart_read_devs if HAVE_SMART is defined * core-shim: fix shim_modify_ldt no system call build issue * README: Add kmod library package info * core-smart: only define stress_smart_read_devs if HAVE_SMART is defined * core-module: return -1 for no-op module unload helper * Add SMI stressor, trigger SMM calls and benchmark SMI duration * stress-ng: remove space at end of the line * Depluralize the options error warning * Add Unicode minus check on invalid options * core-cache: clean up parsing of cache size * core-smart: use scandir to read devices and sort the devices too * Add --smart option to dump S.M.A.R.T. device statistics changes * stress-af-alg: expand crypto failure message * Fix duration output missing when sequential mode * stress-ng: fix typo "filed" -> "file" * Move OPT_skip_silent to the non-arg lookup table * arg parsing: print out unrecognized options * Add bit shift helpers and use them for stress-ng mask flags * stress-prctl: re-order PR_* macro check by #define value * stress-prctl: add Linux 5.14 PR_SCHED_CORE prctl * Add --skip-silent option to silent skip stress tests that can't be invoked * stress-clone: move shim wrapper of modify_ldt to core-shim * stress-xattr: fix compare/assignment typo * stress-maxtrix: ensure matrix_method_name is initialized to NULL * stress-io-uring: perform 64 bit multiply to avoid 32 bit overflow -- Colin King Fri, 9 Jul 2021 09:32:15 +0100 stress-ng (0.12.11-1) unstable; urgency=medium [John Kacur] * stress-ng: Add tags to the makefile [Colin Ian King] * Makefile: bump version * Makefile: remove git-commit-id.h from dist rule * Manual: update date * stress-af-alg: make stress_af_alg_cmp_crypto static * stress-af-alg: clean up pedantic clang-12 build warning * stress-sock: voidify unused arg opt for stress_set_socket_zerocopy * stress-sock: clean up warnings when MSG_ZEROCOPY is not defined * stress-af-alg: set rc to EXIT_SUCCESS for ignore algos * stress-af-alg: don't re-try to use algos that are marked as internal * stress-af-alg: fix typo in skcipher * kernel-coverage: add --sock-zerocopy option to sock stressor * stress-sock: add a --sock-zerocopy option to use MSG_ZEROCOPY * stress-sock: fix recvmmsg infinite loop * kernel-coverage: add sock mptcp protocol to coverage testing * stress-sock: add --sock-protocol option (tcp or mptcp allowed) * stress-af-alg: sort af-alg algos based on type then name * stress-af-alg-defconfigs.h: update crypto defconfigs table * stress-mmap: add more invalid mmap and munmap calls * stress-mmap: add some invalid mmappings to exercise kernel more * stress-mincore: add file backed mmap'd page to mincore upon * Remove trailing space and tabs from end of lines * stress-enosys: change quotactl_path syscall to quotactl_fd * stress-inval: change quotactl_path syscall to quotactl_fd * Add git-commit-id.h to .gitignore * Add stress-ng version and git id to debug info * stress-netdev: turn stress_netdev_check into a macro, fix some ioctls * stress-sysfs: make killed child an error condition * stress-sysfs: catch killing signals when exercising sysfs * core-out-of-memory: fix typo in comment * stress-netdev: fix build time check for SIOCGIFADDR * stress-quota: change quotactl_path syscall to quotactl_fd * stress-fanotify: remove unnecessary : from message * stress-fanotify: clean up error messages * stress-ramfs: remove ramfs duplicated name in stressor message * stress-fanotify: add stressor name to information logged message * Add --seed N option to set the initial random number generate seed * snapcraft: add architectures remote build info * stress-ng: move --times check into stress_times_dump * core-ftrace: add missing void on stress_ftace_stop helper * core-ftrace: replace int return with void for stop/free functions * stress-signest: uncomment signals that got disabled during debugging * stress-signest: cater for systems that don't have alternative signal stacks * stress-signest: add stressor name to info on unique signals handled * stress-signest: add run time check * stress-signest: don't use SIGINT, it's meant for halting stress-ng * stress-signest: add more yielding termination * stress-signest: cast mmap return to uint8_t to clean up warning on gcc 6.5.0 * stress-mlock: voidify args to avoid warnings * Add new nested signal handling stressor, sigtest * stress-mlock: periodically perform misc invalid or unusual mlock calls * stress-mlock: remove CAP_IPC_LOCK check, this is not needed since Linux 2.6.9 * Add build time check for munlockall * core-helper: cater for ARM64 SVE stack sizes * stress-userfaultfd: only report insufficient privilege warning on instance 0 * Makefile: remove -g * stress-cpu: use more builtin math functions * core-helper: don't print not implemented message multiple times, clean up msg * stress-vforkfmany: silence warnings concerning vfork being deprecated -- Colin King Thu, 24 Jun 2021 19:11:03 +0100 stress-ng (0.12.10-1) unstable; urgency=medium [Rosen Penev] * stress-fp-error: add pre-compiler checks for all floating-point exceptions [Colin Ian King] * Makefile: bump version * stress-schedpolicy: use new_policy rather than policy * Manual: update date * stress-zlib: use sizeof the object rather than the type * stress-tree: use sizeof the object rather than the type * stress-sockmany: use sizeof the object rather than the type * stress-sockfd: use sizeof the object rather than the type * stress-seccomp: use sizeof the object rather than the type * stress-rmap: use sizeof the object rather than the type * stress-open: use sizeof the object rather than the type * stress-mmapmany: use sizeof the object rather than the type * stress-memthrash: use sizeof the object rather than the type * stress-memrate: use sizeof the object rather than the type * stress-malloc: use sizeof the object rather than the type * stress-lockbus: use sizeof the object rather than the type * stress-list: use sizeof the object rather than the type * stress-hrtimers: use sizeof the object rather than the type * stress-handle: use sizeof the object rather than the type * stress-fiemap: use sizeof the object rather than the type * stress-epoll: use sizeof the object rather than the type * stress-efivar: use sizeof the object rather than the type * stress-dev-shm: use sizeof the object rather than the type * stress-cyclic: use sizeof the object rather than the type * stress-clone: use sizeof the object rather than the type * stress-apparmor: use sizeof the object rather than the type * stress-affinity: use sizeof the object rather than the type * core-thermal-zone: use sizeof the object rather than the type * core-mounts: use sizeof the object rather than the type * core-helper: use correct sizeof for ram_f, ram_s * core-hash: use sizeof the object rather than the type * core-cache: use sizeof the object rather than the type * stress-xattr: fix memory leak of large_tmp on error return path * stress-fanotify: only declare and use fan_fd2 if required * stress-dup: voidify return from waitpid * stress-xattr: allocate large_tmp on the heap rather than the stack * stress-ng: use shim wrapped strlcpy * stress-usefaultfd: fix missing \n at end of pr_inf message * stress-sigabort: move scope of variable ret to deeper scope * stress-ng: move scope of variable total * stress-io-uring: return EXIT_NOT_IMPLEMENTED when io-uring is not implemented * stress-io-uring: check for ENOSYS on io-uring setup * stress-mq: move scope of variable ret * stress-fp-error: clean up build warning on d1, d2 when FE_INEXACT is not available * stress-fault: don't use t1, t2, dt if getrusage is not supported * stress-dev: fix memcpy/memset thinko * stress-ng.h: remove HOT annotation from keep stressing helpers * stress-stream: ensure initialized values are in range 0..0.99999 * stress-io-uring: constify stress_io_uring_setups array * stress-io-uring: don't abort early on close op setup on failed dup * stress-ng: fix memory leak, call stress_temp_path_free before stressor exits * stress-ng: fix memory leak, call stress_temp_path_free in usage * syscalls: add io_pgetevents to exercised syscalls * stress-aio-linux: exercise io_pgetevents if it is available * stress-aio-linux: attempt to call async fsync, don't redo if it fails * stress-io-uring: add madvise io-uring op * stress-io-uring: add close op, and zero fields on other ops * stress-aio: add aio_fsync call for more kernel coverage * kernel-coverage.sh: add reiserfs to the mix * kernel-coverage: disable core dump handlers such as apport * stress-io-uring: add READ and WRITE opcodes * stress-io-uring: add random block sized seek position for READV/WRITEV ops * stress-io-uring: drive opcode calls by a lookup table, add fallocate + fadvise ops * stress-io-uring: move completion handling to submit call * stress-io-uring: bump bogo-op counter for each successful completion * stress-io-uring: refactor op-code handling, add helper callbacks * stress-fcntl: exercise some invalid fcntl operations for more coverage * stress-vforkmany: fix handling on OS X where vfork() fails * stress-vforkmany: add another yield point after touching pages * stress-bad-altstack: force child death on recursive signals * stress-bad-altstack: Fix hang on OS X * stress-ng.h: disable MLOCKED macro on OS X as it clashes with NORETURN * stress-xattr: pass oversized xattr using a larger buffer * stress-urandom: pass entropy count in variable rather than by value * stress-urandom: initialize val to clean up valgrind warning * stress-sockabuse: call futimens with valid time * stress-sock: zero ifc to avoid valgrind warning * stress-shm: memset msg to zero, cleans up valgrind warning * stress-set: ensure array groups is zero'd, clean up valgrind warning * stress-sem-sysv: make the array more than large enough * stress-schedpolicy: memset attr to zero to clean up warnings from valgrind * stress-schedpolicy: memset large_attr to zero to clean up valgrind warning * stress-prctl: set arg2 in PR_GET_KEEPCAPS to zero * stress-prctl: set arg2 in PR_SET_CHILD_SUBREAPER zero * stress-eventfd: ensure buffer is zero'd before writing it * stress-dev: zero filename array, cleans up valgrind warnings * stress-clock: ensure initialized t1 is used to set the time * stress-procfs: remove debug printf * stress-procfs: ensure entire buffer is zero'd before scanning it * stress-procfs: fix negative index into dlist[] array * stress-fork: fix fork not being called * stress-fanotify: exercise fanotify FAN_CLASS_NOTIF | FAN_REPORT_DFID_NAME * Add per-stressor metrics to metrics output * kernel-coverage: add sysinfo for mounted fs coverage * kernel-coverage: use -1 to specify number of CPUS online -- Colin King Mon, 2 Jun 2021 13:12:11 +0100 stress-ng (0.12.09-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-iomix: cast full expression to off_t instead of 64 bit mwc value * stress-misaligned: only use target clones attribute if compiler supports it * stress-misaligned: fix build error on Hiaku-r1beta8 gcc 7.3.0 * stress-ng.h: enable attribute features for versions of clang * stress-ng.h: remove unused PACKED macro * core-ftrace: add ; after RB_* macros * test/test-mq-sysv.c: memset msg to clean up cppcheck warning * stress-misaligned: only use atomics if HAVE_ATOMIC is defined * stress-sigfpe: remove SA_SIGINFO check on err_code * stress-set: don't cast setgroups size to size_t for DragonFlyBSD * stress-sigpipe: declare function pipe_child if clone is available * stress-tree: fix build on DragonFlyBSD 6.0 * stress-null: only declare variable off on linux builds * stress-pthread: only declare lret if is required * stress-memthrash: fix SEGV due to incorrect offset based on uintptr_r cast * stress-sync-file: fix -ve offset on random sync file location * stress-ng: clean up implicit type warnings from pedantic clang build * stress-zlib: fix incorrect buffer size on compression * stress-zlib: fix --zlib-method option * stress-zero: clean up implicit cast warnings with pedantic clang builds * stress-yield: clean up implicit cast warnings with pedantic clang builds * stress-xattr: clean up implicit cast warnings with pedantic clang builds * stress-wait: clean up implicit cast warnings with pedantic clang builds * stress-vm-rw: clean up implicit cast warnings with pedantic clang builds * stress-udp: cast non-int instance to int for int math * stress-tmpfs: clean up implicit cast warnings with pedantic clang builds * stress-timerfd: remove an extra ; and clean up some type casting * stress-timer: clean up implicit cast warnings with pedantic clang builds * stress-tee: clean up 2 minor casts for function call arguments * stress-sysfs: clean up implicit cast warnings with pedantic clang builds * stress-bad-addr: cast procs to rlim_t on rlim_cur/max assignments * stress-sync-file: fix casting and sync loop * stress-switch: stress-schedpolicy: clean up implicit cast warnings with pedantic clang builds * stress-sockpair: cast val++ arg to uint8_t to match type * stress-schedpolicy: clean up implicit cast warnings with pedantic clang builds * stress-swap: cast lseek offset to off_t type * stress-stream: clean up implicit cast warnings with pedantic clang builds * stress-stack: clean up implicit cast warnings with pedantic clang builds * stress-splice: clean up implicit cast warnings with pedantic clang builds * stress-sockmany: cast non-int instance to int for int math * stress-sockfd: add NORETURN hint to child func, clean up type cast warnings * stress-sockabuse: clean up pedantic clang warnings * stress-shellsort: assign data the correctly typed values * stress-scpt: cast non-int instance to int for int math * stress-sock: cast non-int instance to int for int math * stress-shm-sysv: clean up various pedantic clang warnings * stress-shm: clean up a few off_t fallocate/ftruncate arg warnings * stress-set: clean up implicit cast warnings with pedantic clang builds * stress-sendfile: clean up implicit cast warnings with pedantic clang builds * stress-seccomp: add NORETURN to exiting signal handler * stress-seal: clean up implicit cast warnings with pedantic clang builds * stress-rmap: add NORETURN hint, clean up implicit cast warnings * stress-resources: clean up implicit cast warnings with pedantic clang builds * stress-rename: explicitly cast flags arg to renameat2 to unsigned int * stress-remap-file-pages: cast i to the same data type of data[] * stress-reboot: clean up implicit cast warnings with pedantic clang builds * stress-rawudp: clean up implicit cast warnings with pedantic clang builds * stress-sysinval: clean up implicit cast warnings with pedantic clang builds * stress-tsearch: assign data the correctly typed values * stress-tun: cast port to same type as addr.sin_port * stress-unshare: remove ; from macro UNSHARE definition * stress-rawsock: use correct ssize_t return variable for sendto * stress-rawpkt: add NORETURN hint on child, clean up implicit cast warning * stress-rawdev: clean up implicit cast warnings with pedantic clang builds * stress-radixsort: reduce n from size_t to n * stress-pthread: clean up implicit cast warnings with pedantic clang builds * stress-procfs: clean up implicit cast warnings with pedantic clang builds * stress-prtctl: cast args->page_size to intptr_t to match mask type * stress-poll: forgot to add int cast to buf comparison on sanity check * stress-poll: clean up implicit cast warnings with pedantic clang builds * stress-pkey: clean up implicit cast warnings with pedantic clang builds * stress-pipeherd: fix implicit type cast warnings, make float math double * stress-pipeherd: fix type of counter, it should be uint64_t * stress-netdev: fix type of n, it should be int, cast divisor instead * stress-pipe: clean up implicit cast warnings with pedantic clang builds * stress-pidfd: clean up implicit cast warnings with pedantic clang builds * stress-physpage: clean up implicit cast warnings with pedantic clang builds * stress-opcode: clean up implicit cast warnings with pedantic clang builds * stress-null: clean up implicit clang type warnings on mmapo offset arg * stress-nice: clean up implicit cast warnings with pedantic clang builds * stress-netlink-task: clean up implicit cast warnings with pedantic clang builds * stress-netlink-proc: clean up implicit cast warnings with pedantic clang builds * stress-opcode: add NORETURN on signal handler * stress-numa: clean up implicit cast warnings with pedantic clang builds * stress-netdev: clean up implicit cast warnings with pedantic clang builds * stress-mq: stress-msync: clean up some implicit type casting warnings * stress-msync: clean up some implicit type casting warnings * stress-msg: fix too long a constant or operand, clean up misc warnings * stress-mmapaddr: clean up some implicit type casting warnings * stress-mmap: clean up some implicit type casting warnings * stress-mknod: use mode_t for mknod mode type in stress_do_mknod * stress-misaligned: clean up some implicit type casting warnings * stress-idle-page: clean up implicit cast warnings with pedantic clang builds * stress-misaligned: add NORETURN on signal handler * stress-mincore: clean up some implicit type casting warnings * stress-mergesort: cast return from stress_mwc32 to int32_t * stress-memthrash: clean up some implicit type casting warnings * stress-memrate: clean up some implicit type casting warnings * stress-memfd: clean up implicit cast warnings with pedantic clang builds * stress-membarrier: ensure the cmd type to membarrier call is int * stress-matrix-3d: clean up some implicit type casting warnings * stress-matrix: clean up some implicit type casting warnings * stress-malloc: fix never reached memory reaping and clean up warnings * stress-lsearch: clean up implicit cast warnings with pedantic clang builds * stress-loop: clean up implicit cast warnings with pedantic clang builds * stress-longjmp: cast uint64_t to double to avoid precision loss * stress-lockofd: cast return from stress_mwc64 to off_t * stress-locka: cast return from stress_mwc64 to off_t * stress-link: clean up implicit cast warnings with pedantic clang builds * stress-l1cache: clean up implicit cast warnings with pedantic clang builds * stress-klog: cast uint32_t math to int to clean up implicit cast warning * stress-itimer: cast itimer_freq to double to clean up implicit cast warning * stress-ipsec-mb: clean up implicit cast warnings with pedantic clang builds * stress-io-uring: clean up implicit cast warnings with pedantic clang builds * stress-ioprio: cast ioprio_get who arg to int * stress-ioport: cast ioport from arg to unsigned long * stress-iomix: clean up implicit cast warnings with pedantic clang builds * stress-inotify: clean up implicit cast warnings with pedantic clang builds * stress-aio-linux: assign invalid value to offset and nbytes in a portable way * stress-misaligned: fix i386 built error for 128 bit integers * stress-icmp-flood: clean up implicit cast warnings with pedantic clang builds * stress-bad-altstack: remove void * cast of signal handler function * stress-hdd: cast ret to size_t to clear up build warning * stress-cpu-online: clean up build warnings * stress-af-alg: cast j to ssize_t to compare with send() return * stress-hdd: clean up implicit cast warnings with pedantic clang builds * stress-getdent: clean up implicit cast warnings with pedantic clang builds * stress-fanotify: clean up implicit cast warnings with pedantic clang builds * stress-fallocate: clean up implicit cast warnings with pedantic clang builds * stress-epoll: clean up implicit cast warnings with pedantic clang builds * stress-fp-error: clean up implicit cast warnings with pedantic clang builds * stress-filename: clean up implicit cast warnings with pedantic clang builds * stress-fiemap: clean up implicit cast warnings with pedantic clang builds * stress-file-ioctl: cast ~0 to uint16_t * stress-eventfd: clean up implicit cast warning with pedantic clang builds * stress-efivar: clean up implicit cast warnings with pedantic clang builds * stress-bad-altstack: add NORETURN on stress_signal_handler * stress-dup: clean up implicit cast warnings with pedantic clang builds * stress-dnotify: clean up implicit cast warnings with pedantic clang builds * stress-dev-shm: clean up implicit cast warnings with pedantic clang builds * stress-dev: clean up implicit cast warnings with pedantic clang builds * stress-dccp: clean up implicit cast warning with pedantic clang builds * stress-ioctl: clean up implicit cast warnings with pedantic clang builds * stress-aio: clean up implicit cast warnings with pedantic clang builds * stress-af-alg: clean up implicit cast warnings with pedantic clang builds * stress-verity: clean up pedantic build warnings * stress-utime: clean up pedantic clang warning * stress-cyclic: clean up some implicit type warnings * stress-cpu: clean up some implicit type cast warnings * stress-cpu: clean up type warnings * stress-sysbadaddr: clean up implicit type warnings, remove stress_badhandler * core-shim: fix get_mempolicy shim, 4th arg should be void * * stress-rtc: clean up int and ssize_t type conversions * stress-cache: add some minor int type cast conversion * core-perf: explicitly cast return from tolower to char * stress-softlockup: add NORETURN to signal handler, silence SIZEOF_ARRAY warning * stress-qsort: cast return from stress_mwc32() to match assigned type * stress-ping-sock: cast return from getpid() to match type of echo.id * stress-mmapfixed: use the stress_sig_handler_exit helper * stress-key: make variable len ssize_t to match return from system_read * stress-heapsort: cast return from stress_mwc32() to match assigned type * stress-getrandom: ensure flag is unsigned int to match getrandom flag arg * stress-full: make ptr a uint8_t to remove need for casting on put call * stress-flock: use ssize_t var for system_read return * stress-exec: clang in pedantic mode suggests pthread_dummy is zero'd * stress-bad-altstack: remove NORETURN * stress-apparmor: size arg of read should be size_t, cast it so * stress-bad-altstack: clean up pedantic clang build warnings. * Add autobuild detection of __attribute__((fallthrough)) * Use the stress_sig_handler_exit helper * core-helper: add stress_sig_handler_exit to exit on a signal * stress-bind-mount: add NORETURN MLOCKED_TEXT annotations to signal handler * stress-aio-linux: clean up gcc build warning * stress-apparmor: clean up gcc build warning * stress-get: add missing cast to clean up gcc build warning * stress-get: fix various pedantic clang build warnings * stress-crypt: remove _XOPEN_SOURCE define * stress-apparmor: clean up pedantic build warnings * stress-aio-linux: clean up multiple implicit type conversions * core-ignite-cpu: pass cpu as a int32_t argument * stress-fcntl: fix hint assignment, use UL not ULL * stress-mmapmany: fix format specifier for max * stress-madvise: make ~0ULL portable to 32 bit arches * stress-io-uring: mmap buffers with MAP_POPULATE * stress-io-uring: add more yield points in main loop * core-io-uring: include config.h * core-personality.c: include config.h * core-perf-event: include config.h * core-ignite-cpu: fix build warning, make cpu an int32_t * stress-sigpipe: use ssize_t for read return assignments, clean up child call * stress-sigio: use ssize_t for read return assignments * stress-sigfpe: add NORETURN to signal handler and clean up type warnings * stress-sigfd: use ssize_t for read return assignments * stress-sigsegv: add NORETURN to handler, fix cast on %p * stress-tree: remove extraneous ; after RB_* and SPLAY_* macros * stress-vdso: clean up some pedantic implicit type warnings * stress-userfaultfd: clean up pedantic warnings, add NORETURN to handler, fix cast * stress-ng: clean up some pedantic clang warnings * stress-ng: add OPT_undefined for undefined non-option * core-cache: clean up implicit type conversion warnings * core-vmstat: add appropriate type casts to clean up pedantic clang warnings * core-parse-opts: cast int values to double for mixed type math * operation * core-thrash: clean up type warnings * core-ignite-cpu: clean up type conversion warnings * core-perf: clean up various type conversion warnings * core-try-open: ensure status is zero, cleans up pedantic clang warning * stress-ng.h: make thermal zone type_instance a uint32_t * core-sched: clean up implicit type conversions * core-out-of-memory: initialize save_errno to zero, clean up clang warning * core-net: clean up type warnings and add wrap around check on port overflow * stress-skiplist: use unsigned long as value to save/fetch * stress-seek: clean up off_t implicit type conversion warnings * stress-lockbus: add NORETURN hint on stress_sigbus_handler * stress-lockbus: wrap macros with while .. do (0) wrapper * stress-enosys: add NORETURN hint on stress_badhandler * stress-enosys: clean up implicit type conversion changes * stress-bsearch: fix type warnings with a couple of changes * stress-mmapmany: clean up warnings, make max a long * stress-open: clean up missing int casts on fd comparison * core-helper: clean up various implicit type warnings * stress-open: clean up various implicit type conversions warning * stress-oom-pipe: use size_t for max pipe fd array size * stress-mmapmany: use size_t for max mappings rather then ssize_t * stress-mmapfork: clean pedantic %p warning * stress-mmapfork: add NORETURN hint on stress_segvhandler * stress-chmod: fix incorrect type in 3rd arg in do_fchmod * stress-cap: make constant unsigned * stress-fcntl: clean up implicit type casts * stress-fault: remove stray redundant ; * stress-env: fix implicit type conversion warning * stress-dirdeep: add explicit cast to char on int expression * stress-dir: add check for mode_t, use it or int * stress-ng: make g_unsupported static * stress-funccall: clean up implicit type cast warnings * stress-copy-file: clean up some implicit cast warnings * stress-clone: clean up some implicit type warnings * core-shim: fix extraneous ) build failure * stress-mcontend: clean up implicit type conversion warnings * stress-kcmp: cast to types of fields of kcmp_epoll_slot * stress-kcmp: clean up implicit type conversion warnings on kcmp call * stress-kcmp: wrap macros with while .. do (0) wrapper * stress-vecmath: fix int/uint type casting pedantic clang warnings * stress-vecmath: wrap macro OPS with while .. do (0) wrapper * stress-dev: move CDROMVOLCTRL check to around the IOCTL_TIMEOUT macro * stress-dev: wrap IOCTL_TIMEOUT with while .. do (0) wrapper * stress-chown: cast uid_t and gid_t parameters * stress-branch: simplify LIKELY macro expression to clean up warning * stress-atomic: add explicit type cast to atomic arguments * core-shim: clean up implicit cast of tv_nsec result * core-shim: cast syscall and shim_enosys returns to relevant return type * stress-sysinfo: replace macro with macro text * stress-madvise: ensure ~0 is a ULL type * stress-madvise: check return type for writes need to be ssize_t * stress-madvise: only define NUM_SOFT_OFFLINE_MAX if MADV_SOFT_OFFLINE is required * stress-madvise: add NORETURN hint on stress_sigbus_handler * stress-bad-ioctl: add NORETURN hint on stress_segv_handler * core-ftrace: count should be int64_t * core-ftrace: remove redundant ; after RB_* macros * stress-dynlib: add NORETURN hint on stress_segvhandler * stress-dnotify: remove unused macro DIR_FLAGS * stress-dentry: check return type for reads need to be ssize_t * stress-daemon: make buf uint8_t to clean up signedness warning on 0xff * stress-close: fix type conversion warning on float multiplication * stress-close: ensure final arg of close_range is unsigned int * stress-urandom: make ret argument in check_eperm call ssize_t * stress-urandom: make the buffer a uint8_t instead of char * stress-vforkmany: explicitly cast sleep time * stress-vforkmany: remove unused macro STACK_SIZE * stress-vm-splice: use correct types for splice return and iov.iov_len * stress-watchdog: add NORETURN hint for stress_watchdog_handler * stress-watchdog: ret should be ssize_t on write() return * stress-vm: pass buffer end to stress methods and use void *buf pointers * stress-vm: cast %p args to volatile void * * stress-vm: fix cast of sleep argument * stress-vm: remove ROR64 macro, it is no longer used * stress-vm: clean up some int to uint8_t implicit casts * stress-vm: explicitly cast int expression to uint8_t in ROR macro * stress-vm: fix rotate right on 8 bit values * stress-vm: use uint32_t for mwc seed values * stress-vm: wrap { } macros with do while (0) to avoid ; warnings * Move STRESSOR_DECL to stress-ng.h * core-thrash: warning clean-ups * core-time: explicitly cast ret to size_t * core-mounts: cast max to size_t to avoid memset implicit cast * core-mwc: clean up some implicit casting warnings * core-log: use size_t for data write lengths * core-hash: clean up implicit conversions with signedness changes * core-cache: remove redundant return 0 * core-mlock: use uintptr_t casts with unsigned long * core-vmstat: make vmstat_delay and thermalstat_delay static * stress-ng.h: Rename __STRESS_NG_H__ to STRESS_NG_H * stress-version.h: Rename _VER_ to STRESS_VERSION_NUMBER * stress-ng.h: Fix incorrect type in stress_long_double_put * core-cache: use sscanf to parse a uint64_t rather than atoi * core-cache: replace use of %ms with %c to get size * stress-dup: unlink info->fifoname before removing the directory * treewide: add ( ) around expressions in keeping with stress-ng coding style * stress-misaligned: user 2/4/8 byte variants of __atomic_fetch_add * stress-misaligned: allow 128 atomic increments on x86 * stress-misaligned: remove incorrect info increment * stress-misaligned: add increment and atomic increment methods * Manual: update --bad-altstack testing description * stress-bad-altstack: exercise BUS error on stacks * stress-vforkmany: fix times() info due to SIGKILLing children * stress-revio: unlink file as soon as possible * stress-dev: fix incorrect close, it should be removed * core-helper: add aborting: prefix to error message * stress-xattr: fix = typo, should be == for a comparison * stress-link: fix = typo, should be == for a comparison * stress-dev: report the name of the device that failed on a stat failure * stress-link: skip stressor on EPERM link errors * stress-chmod: silently ignore EPERM errors on chmod * stress-chattr: treat EINVAL on EXT2 ioctls as permissible * stress-verity: treat EINVAL on FS_IOC_ENABLE_VERITY as verity not supported * stress-copy-file: rename ret to copy_ret to avoid name shadowing * stress-fiemap: don't remove tmp dir if it's not been created * stress-copy-file: handle initial mkdir failure correctly * stress-copy-file: check for EINVAL on copy_file_range * stress-hdd: add workaround to O_DIRECT open failure cleanup * stress-aio-linux: disable O_DIRECT for filesystems that do not support it * stress-chdir: move yield point detection to start of loop * stress-dentry: add yield point detection before starting iteration * stress-mknod: add yield point detection before starting iteration * stress-filename: add probing of maximum filename length * stress-hdd: cater for read failure on vfat on ENOSPC * stress-xattr: silently ignore E2BIG error on *setxattr calls * stress-dup: fix tidy clean up paths for tmp path and mmap'd memory * stress-copy-file: don't rmdir the test directory if it was not created * stress-sync-file: treat EINTR as a SIGALRM/SIGINT termination w/o error * stress-splice: initialize buffer before writing it down the pipe * stress-quota: add quotactl_path support introduced in Linux 5.13 * stress-enosys: add quotactl_path system call * stress-sysinval: fix number of args to quotactl system call * stress-sysinval: add quotactl_path system call * Add missing whitespaces in expressions * stress-splice: add a looped pipe splice to the mix * stress-landlock: exercise illegal landlock_add_rule arguments * stress-ng: fix Liunx typo * stress-dirdeep: add sanity checks for scandir failures * core-helper: encode hashed filenames into base36 14 char string * stress-dev: remove debug message on device being processed * stress-landlock: replace security=landlock to lsm=landlock * stress-misaligned: work around misaligned segv on 128 bit reads * Add stress_sighandler_default to restore handler to SIG_DFL * stress-misaligned: report the misaligned stress methods used * stress-misaligned: add uint8_t * cast to clean up gcc 6.5.0 build warning * stress-fallocate: re-order variable declarations, cleans up clobber warning * stress-misaligned: add a new misaligned memory read/write stressor * stress-list: replace entry with entries * stress-dev: add TIOCGPTPEER ioctl * stress-dev: add TIOCSSERIAL ioctl * stess-splice: add workaround to failed splice from /dev/zero to pipe * stress-landlock: remove empty line * kernel-coverage: add more f2fs mkfs options to exercise the fs more * stress-landlock: fix ENOSYS error return on unimplemented syscalls * stress-landlock: exercise illegal landlock API arguments -- Colin King Sat, 22 May 2021 19:54:16 +0100 stress-ng (0.12.08-1) unstable; urgency=medium [Colin Ian King] * Makefile: bump version * stress-landlock: give hint that landlock LSM may need to be enabled * stress-landlock: voidify unused args in system call wrappers * stress-sigio: disable SIGIOs and close pipe end as soon as possible * stress-zlib: clean up clobber warnings * stress-ng: make us_total a temp variable in local scope * README: add in architectures and update stats * stress-iomix: add POSIX_FADV_* advice defined checks * stress-malloc: clean up void* -> void * * kernel-coverage: add more file systems and mount options * stress-sigio: fix segfault (LP: #1918095) * stress-xattr: add yield points in xattr loops * stress-inotify: break out of write loop on ENOSPC, update yielding * stress-dnotify: break out of write loop on ENOSPC, update yielding * stress-msg: replace tmp return variable rc with ret * stress-landlock: add Linux 5.13 landlock system call stressor * kernel-coverage: add more file systems into the coverage tests * stress-sysinval: add in landlock_add_rule and landlock_restrict_self * stress-enosys: add in landlock_add_rule and landlock_restrict_self * stress-sysinval: add landlock_create_ruleset to inval system call table * stress-enosys: add new Linux 5.13 landlock_create_ruleset syscall * stress-fallocate: replace space indentation with tab * stress-fallocate: handle SIGALRM and SIGINT more responsively * stress-fallocate: add more yield points * stress-link: add yield point check on each iteration * stress-membarrier: keep membarrier cmd flags in sync with kernel * stress-open: add an illegal all-bits set resolve flags setting * stress-open: work through the openat2 resolve flags for more coverage * stress-ng: add username if it is fetchable to syslog info * stress-ng: fix argument dumping from argv[] to syslog * core-setting: ensure string setting types are free'd * stress-stackmmap: Fix stack_sig mapping, add missing anonymous flag * stress-ipsec-mb: ensure all the timing data is set to 0.0 * stress-personality: just make zero sized array a 1 element sized array * stress-aio-linux: fix the allocation size of cbs * core-vmstat: ensure tz_info_list is initialized for non thermalstat_delay cases * stress-l1cache: add another L1 cache set size sanity check * stress-personality: make failed array 1 element when n == 0 * stress-sysinval: remove redundant re-assignment of syscalls_exercised * stress-af-alg: ensure info.name and info.type are free'd on failed add * stress-affinity: ensure pids array is zero'd before us * stress-vm: remove incorrect re-setting of counter c in 2nd loop * stress-vdso: remove redundant assignment to str * stress-userfaultfd: break assignment and check into two statements * stress-verity: check ioctl FS_IOC_GETFLAGS flags only if ioctl is OK * stress-udp: add missing voidifications on ignored return from setsockopt * stress-run: add missing voidifications on ignored return from ioctl * stress-sysinfo: don't stat on a null mnts[i] * stress-sysfs: voidify return from ppoll call * stress-procfs: only check statbuf.st_mode if fstat returned 0 * stress-fcntl: voidify returns of fcntl calls * stress-cap: voidify returns of capget calls * stress-cpu: add div32 cpu stressor method, remove k from div64 * stress-tsc: use clock time rdtime rather than cycles for RISC-V * stress-msg: cleanup resources on a fork failure * stress-msg: allocate msgq_ids on the heap, don't use the stack -- Colin King Thu, 6 May 2021 18:44:22 +0100 stress-ng (0.12.07-1) unstable; urgency=medium [Colin Ian King] * Makefile: bump version * core-helper: uncapitalize SWAP -> swap * stress-l1cache: only compute cache size if it is not provided * stress-l1cache: skip stressor if cache size is abnormal * stress-l1cache: check for correct ways and line_size * stress-fork: silence warnings concerning vfork being deprecated * stress-cpu: fix double arg cpow and pow macros * Fix typo in builtin rint config checking * Rename test-builtin-cpu-is.c to test/test-builtin-cpu-is-power9.c * stress-cpu: parameterise workaround math macros * Add build detection and use builtins for fabs, fabsl, rint, rintl, sqrt and sqrtl * stress-sigabrt: fix build warning when built with gcc-11 PEDANTIC * Use a void * pointer for the mapping to avoid munmap warning * stress-wcstr: don't exercise wcscmp on M68K * stress-shm-sysv: don't declare get_bad_shmid for M68K * stress-shm-sysv: don't declare bad_shmid for M68K * stress-shm-sysv: don't pass NULL args to shmctl on M68K * stress-fp-error: disabled full fp error checkking on M68K * Add M68K (Motorola 68000) family #define * stress-ng: rename variable exit_status to wexit_status * Add cppcheck-suppress annotations to silence cppcheck on known false positives * stress-sigfpe: don't declare err_code when SA_SIGINFO is not defined * stress-dev: clean up some cppcheck warnings * stress-bad-altstack: don't use null vdso address * stress-cpu: increase number of iterations for omega stressor * stress-dev: disable play/pause ioctl on CD-ROMs * core-cache: remove redundant null check on cpu_path * core-cache: remove some redundant code * core-cache: rework to make cache detection more robust * core-cache: cater for offline CPUs * core-cache: don't use auxvals if non of the AT_* cache defines exist * stress-prctl: exercise PR_SET_SYSCALL_USER_DISPATCH system call * emulation * core-helper: print cache level being used in more informative way * stress_cache_alloc: use mmap'd shared memory rather than calloc'd memory * core-cache: determine cache size via getauxval * core-cache: add support for linux SPARC 64 cache information * stress-sigabrt: use handler and non-handler modes of SIGABRT * Check for both __riscv__ and __riscv macros * stress-userfaultfd: skip test if EPERM is returned * stress-ng: translate stressor EXIT_FAILURE to EXIT_NOT_SUCCESS * stress-rdrand: add some simple 64 bit random data sanity checks * stress-list: add stress_list_slistt to all methods * stress-list: check for defined sys/queue.h macros before using them * stress-list: fix typo, should build if HAVE_SYS_QUEUE_H defined * stress-list: had hand-crafted slistt method * Add list stressor to exercise insertion/find/removal of various list types * stress-mknod: silently ignore EINVAL on mknod failures * stress-signal: fall back to libc signal() if syscall returns ENOSYS * core-helper: Add stress_get_stack_top to determine stack stop * Makefile: pass LDFLAGS to function test builds, echo configs on VERBOSE=1 * travis: update with more recent build disto and add more libraries * stress-chdir: ensure statbuf is initialized * Revert "stress-chdir: fchmod on recently fetched statbuf st_mode" * stress-pthread: make pthread stack shared and ensure it's resident * core-helper: Fix -k option, don't change the process name * stress-pthead: unmap stack after pthread has joined * stress-signal: dont call signal syscall directly * stress-memthrash: fix off-by-one array overflow on swap method * stress-memthrash: don't perform misaligned read/writes * stress-memthrash: calculate number of threads based on online CPU count * stress-fork: remove residual fork call * Makefile: Add MAN_COMPRESS to control stress-ng.1 compression on install rule * stress-fork: remove syscall(__NR_fork) * stress-fork: set pid and errno on an unknown fork case * stress-fork: done use fork shim helper, move code into core stressor loop * Add system information in -v debug output * core-perf: clean up false positive static analysis warning * test/test-mq-posix: memset msg to clean up static analysis warning * stress-chdir: fchmod on recently fetched statbuf st_mode * stress-matrix-3d: ensure maxtrix_3d_method_name is null * stress-aio-linux: ensure fds is set to null on error * stress-sysinval: remove extraneous ) in alloc_hugepages syscall info * stress-sysinval: re-work resource cleanup on error * stress-sysinval: add system call utilization stats * stress-ng: prefix functions with stress_ * stress-ng: rename stressors_{init|deinit} to stress_stressors_{init|deinit} * Rename stress_{map|unmap}_shared to stress_shared_{map|unmap} * Rename stress_free_stressors to stress_stressors_free * Rename stress_free_settings to stress_settings_free * Rename stress_free_temp_path to stress_temp_path_free * Break && macro checks into multi-lines to match stress-ng code style * stress-cpu: add float64 64 bit floating point cpu stress method * stress-cpu: add a lfsr32 cpu method -- Colin King Wed, 21 Apr 2021 19:40:15 +0100 stress-ng (0.12.06-1) unstable; urgency=medium [Helmut Grohne] * Add VERBOSE build options (Closes: #971719) [Colin Ian King] * Makefile: bump version * Makefile: update code name * Manual: update date * Makefile.config: move the HAVE_VLA_ARG * stress-zlib: add missing , between string literals * stress-cpu: don't run checksums on zero sized buffers * Makefile.config: re-order build time checks for pretty output * Makefile.config: remove extraneous .h from userfaultfd.h text * Makefile.config: remove leading space before swapcontext text * Makefile.config: fix missing "struct" test from message * Makefile.config: emit yes/no answer to config checks * Manual: clarify the 0 or less than zero number of instances * Makefile: generate config.h file from Makefile.config * Replace #if MACRO with #if defined(MACRO) * stress-sysbadaddr: don't use read/write if readv/writev are not available * stress-hdd: fall back to read/write if readv/writev are not available * stress-cyclic: rework when to define stress_cyclic_stats * stress-cyclic: build in stress_cyclic_stats only if it is required * stress-set: clear up static analysis warning -- Colin King Thu, 24 Mar 2021 13:14:15 +0000 stress-ng (0.12.05-1) unstable; urgency=medium [Witold Baryluk] * stress-cpu.c update proc state to RUN before the main loop [Colin Ian King] * Makefile: bump version * Manual: update date * stress-l1cache: add pointer casting for mmap/munmap for openhipster * stress-af-alg-defconfigs.h: minor sort re-ordering * stress-af-alg: make --af-alg-dump option dump the stringified type * stress-ioport: fix typo in comment * stress-l1cache: remove a line * stress-l1cache: skip stressor if l1cache info is zero * core-helper: rename __stress_get_stack_direction * stress-mmapfork: rename __strlcat to notrunc_strlcat * fast-test-all: omit l1cache as this requires cache info that may not be available * stress-l1cache: fix non-Linux build failure * stress-timer: periodically exercise /proc/self/timers * stress-cpu: add exim's nhash for one more hashing cpu exercising method * stress-ng: report skipped messages only on the first instance * stress-verity: add FS_IOC_READ_VERITY_METADATA ioctl * stress-pthread: report the maximum number of concurrent pthreads * stress-cpu: update short help information * stress-ng: add CPU % used per processor metrics * Manual: update contributors list * core-cache: assume CPU is online if online information not available * stress-io-uring: remove debug message * stress-l1cache: handle non-power of 2 alignments * stress-l1cache: remove unused variable ret * stress-l1cache: add new level 1 cache stressor * core-cache: fix fetching of cache ways information * stress-cyclic: add build time check for clock_gettime in stress_cyclic_usleep * stress-dentry: fix build warning of utime when utime is not declared * stress-rawsock: add build time check for HAVE_ICMPHDR * stress-dentry: add build time check for struct utimbuf -- Colin King Fri, 12 Mar 2021 09:44:11 +0000 stress-ng (0.12.04-1) unstable; urgency=medium [Colin Ian King] * Makefile: bump version * Manual: update date * stress-ng: remove duplicate shadowing statbuf declaration * core-helper: remove const from stack argument * stress-vforkmany: cast mmap return to uint8_t * * stress-sock: voidify unused argument rt * stress-rlimit: cast mmap return to uint8_t * * stress-context: cast mmap return to uint8_t * * core-helper: cast mmap return to uint8_t * stress-malloc: don't declare keep_thread_running_flag for non-pthread builds * stress-ng: use stat method of inode file mode checking * stack handling: use _SC_SIGSTKSZ and _SC_MINSIGSTKSZ * stress-sock: avoid some socket ioctls on RT kernels * core-helper: clean up stress_{read|write}_buffer code style * core-helper: replace void * pointer math with char * * stress-fiemap: use light weight racy counting for bogo-ops * stress-fiemap: add some extra fsync flushes for I/O blocking * stress-x86syscall: add build time checks for __NR* macros * stress-utime: fix build failure when O_PATH is not supported * stress-exec: don't perform exec_garbage if O_PATH is not supported * stress-exec: add build time check for O_PATH * stress-cyclic: add hint of how to fix -EBUSY warning * core-sched: make runtime 90% of deadline * stress-procfs: add RISC-V /proc/bus/pci/ PCIIOC_CONTROLLER ioctl test * stress-vm: add mfence to rowhammer method * core-vmstat: ensure *stat stats have headings dumped out every 25 iterations * stress-rename: explicitly zero strings, don't unlink if empty * stress-cache: remove stress_power_of_two * stress-mlock: rename max to lockmax to avoid name shadowing * core-helper: initialize info struct * core-ftrace: initialize statfs buf to zero * stress-tmpfs: initialize statfs buf to zero * stress-ng: initialize pointer names to NULL * stress-mmapfork: initialize info struct * stress-switch: initialize pipefds to clean up warnings * stress-dirdeep: initialize pointer namelist to NULL * stress-bad-altstack: remove redundant continue * stress-mmapaddr: remove redundant continue statement * stress-ng: fix incorrect memset size * core-cache: initialize another namelist to clean up warnings * core-helper: initialize loadavg array with zeros * core-cache: initialize namelist to clean up warnings * stress-wait: initialize siginfo_t info struct to zero * stress-ipsec-mb: initialize key array to zero * stress-dirdeep: initialize pointer namelist to NULL * core-helper: initialize statvfs buf to zero * stress-pipe: initialize pipefds array to zero * stress-sigq: initialize siginfo_t info struct to zero * core-vmstat: initialized cpu_list to clean up warnings * core-helper: initialize statvfs buf to zero * stress-ng: initialize sysinfo info to zero * core-helper: initialize statvfs buf to zero * stress-filename: initialize statvfs buf to zero * core-helper: initialize sysinfo struct to zero * stress-mremap: remove redundant continue * stress-hrtimers: remove continue statement * stress-sysfs: remove redundant continue statement * stress-readahead: remove redundant continue statement * stress-sigabort: remove redundant continue statement * stress-mmapaddr: remove redundant continue statement * stress-io-uring: set submit fields to unused once resources are released * stress-memhotplug: remove | operator, assignment will suffice * stress-sock: clean up indentation * stress-rawpkt: clean up indentation * stress-io-ring: fix up io uring buffer cleanups * stress-mknod: fix array read overflow on array modes[] * stress-verity: ensure fd is closed on error exit path * stress-poll: close poll_fds on error return path * core-mounts: memzero mnts array to be totally safe * stress-urandom: close fd_rnd_blk if it was open * core-setting: free setting->name if setting->u.str is null * stress-timerfd: close file_fd on error exit return * stress-bad-ioctl: ensure fd is closed on when breaking from loop * stress-utime: close dir_fd if it is open * stress-open: check for fd >= 0 and not just > 0 * stress-poll: free pipe_fds on error return, fix memory leak * stress-timerfd: close file_fd on error return path * stress-io-uring: don't unmap submit->cq_mmap if it is the same as sq_map * stress-zombie: declare head before shim_waitpid call * stress-ioport: don't seek on -ve offset * stress-urandom: don't select on fd_rnd_blk if it could not be opened * stress-stream: avoid a zero 64 bit division (redo) * stress-sockfd: add missing termination goto on sockopt failure * stress-mlock: check for -ve sysconf error return * stress-mremap: don't mlock a null *buf * Revert "stress-seek: fix potential -ve offset seek" * stress-close: don't close a -ve file_fd * core-helper: check sysconf for failure * stress-mremap: only unmap *buf if it is not null * stress-seek: fix potential -ve offset seek * stress-lease: fix double close on fd * stress-efivar: use len rather than n for mapping size calls * test/test-inotify: check return from inotify_add_watch * core-helper: limit stress_get_max_file_limit to SIZE_MAX * stress-efivar: fix potential -ve mmap size * stress-rename: only close tmp_fd if it has been opened correctly * stress-seek: fix potential -ve offset seek * stress-msg: memset buf to zero to silence static analyzer warning * stress-verity: ensure fd is close on error exit * stress-malloc: free addr on error exit return * stress-malloc: free addr on error exit return * stress-msg: memset buf to zero to silence static analyzer warning * stress-schedpolicy: voidify return from sched_getattr call * test/test-inotify: voidify return from inotify_add_watch * core-vmstat: check the keep stressing flag for termination * stress-mq: voidify return from munmap() * stress-timer: ensure all fields to sev are initialized * stress-cyclic: ensure all fields to sev are initialized * core-helper: ensure max_sysconf is assigned just once * stress-pthread: voidify unused value * stress-pipe: fix incorrect write size * stress-dev: voidify return from wait, we can ignore a failure * stress-timerfd: don't bump count or max_timerfd if create failed * stress-timerfd: remove redundant initialization of file_fd * stress-epoll: ensure all fields to sev are initialized * stress-hrtimes: ensure all fields to sev are initialized * stress-prctl: add missing voidifications from return from prctl * stress-loop: voidify return from fsync * stress-rename: remove stray break that was added during debugging * stress-utime: don't pass NULL filename, some kernels can't handle this * stress-io-uring: remove redundant initialization of rc * core-ftrace: set time_us to zero if sscanf fails * stress-epoll: indicate that n is to be ignored * stress-io-uring: check if calloc failed * stress-resource: don't close a fd if the open failed * stress-stream: avoid a zero 64 bit division * stress-ioport: add in missing re-seek before write * voidify some ignored returns from stress_get_setting calls * stress-handle: ensure mount_fd is closed on a realloc failure * stress-pipeherd: avoid division by zero * stress-verity: ensure fd is close on error exit * stress-zlib: initialize all fields to stream_inf, stream_def and xsum * stress-schedpolicy: ensure param is initialized for invalid policy call * core-try-open: ensure all fields to sev struct are initialized * stress-udp: set slen of getsocketopt arg for UDPLITE_RECV_CSCOV * core-thermal-zone: handle null tz_info->type when calling stress_tz_type_instance * stress-ng: remove temporary files if stressors are killed prematurely * stress-msg: check for msgrcv errors that can occur during termination * stress-cpu: join two lines, no functional change * stress-cpu: fix nsqrt method that was actually doing not much * Add --malloc-pthreads N option to run allocations in N pthreads * stress-cache: optimize out switch statement and % operators -- Colin King Thu, 25 Feb 2021 16:08:51 +0100 stress-ng (0.12.03-1) unstable; urgency=medium [Adrian Ratiu] * stress-ng.h: fix build-breaking HAVE_USTAT typo [Colin Ian King] * Makefile: bump version * core-vmstat: Add delay time in seconds to vmstat and thermalstat * stress-cache: use % operator on indexes into cache * core-try-open: Make pid_t print and scanning more portable * stress-ng.h: don't include on OpenIndiana * core-helper: clean up build warning on unused parameter name * core-helper: add build time guards for setproctitle * Manual: update names of contributors * stress-dccp: add SIOCOUTQ ioctl, added in Linux 5.9 * stress-fanotify: exercise fanotify_init flags using a table * stress-chmod: make index i a size_t rather than an int * stress-cache: fix up missing tab in macro * stress-bad-ioctl: remove extraneous tab in struct definition * stress-af-alg: make size argument a size_t rather than an int * stress-zlib: make size argument a size_t rather than an int * stress-epoll: fix epoll_pwait2 call, add missing sigset size * stress-rawdev: don't allocate buffers on stack, use mmap * Add stressor process state information in argv[0] * README: add static build instructions for RHEL * stress-wcstr: don't use libbsd wcsl* when building static images * Disable mlocked regions to avoid linking issues on RHEL static builds * stress-str: don't use libbsd strl* when building static images * core-shim: don't use libbsd strl* when building static images * stress-dup: force unlink fifo file on cleanup * core-vmstat: cater for deltas that are negative * core-shim: fix build warning if sbrk is not defined * core-vmstat: use shim wrapper of strlcpy to avoid compat linking issues * core-shim: fix missing who argument to rusage shim system call * core-net: fix build warning on ppid on systems that don't use it * core-vmstat: show n/a for CPU speeds that are zero or less * core-vmstat: ensure string therms is zero * stress-pipeherd: move memset of rusage to fix build error on Haiku * Add buildtime check for rusage.ru_nvcsw field * Add buildtime check for rusage.ru_minflt field * core-try-open: fix build error on GNU/HURD * test/test-sem-sysv.c: touch all fields in arg to silence cppcheck * stress-utime: add fsync after each utimensat * stress-sock: break long #if define checks with newline * stress-sock: clean up cppcheck style warning * stress-rawdev: no need to declare typedefs for no-op build case * stress-pthread: clean up cppcheck warning and use coding style for multiple #defines * stress-pipeherd: improve guarding and usage of getrusage variables * stress-poll: enable HAVE_PSELECT code path * stress-memhotplug: no need to declare typedefs for non-linux cases * stress-kcmp: need to declare typedefs for specific build case * stress-fault: remove OS specific guarding to check for getrusage * stress-exec: no need to declare typedefs for non-linux cases * stress-clone: no need to declare typedefs if clone is not supported * core-vmstat: clean up initialization of pointer ptr * core-vmstat: no need to check for null if we are checking for ' ' too * core-vmstat: ensure fclose occurs on non-null opend fp * stress-pipe: fix memory leak of buffer on error return path * core-vmstat: fix fd leak on cpu scaling frequency * tests: clean up some pedantic Coverity static analysis warnings * Add --thermalstat option to dump out CPU and thermal information * stress-dev: avoid ttyS* lockups on low latency kernels * stress-dev: avoid blocking lockups on ttys * Add a STRESS_TRY_AGAIN don't give up flag and simplify try-open * stress-dev: set argv[0] at more appropriate name change points * stress-dev: set /proc/$pid/cmdline to contain name of device being exercised * stress-dev: handle lockups on ttyS* blocking opens * Add a new --vmstat option to show info like vmstat(8) * stress-full: add mmap operations to /dev/full * Add shim wrapper for the getrusage system call and build time detection * stress-poll: add --poll-fds N option to exercise more file descriptors * stress-nice: add braces around comment and statement * Replace keep_stressing macro with inlined function, add args param * stress-longjmp: remove JMP_BUF_MAGIC0, it was never completed * stress-zero: allocate buffers using mmap rather than on stack * stress-memrate: add 128 bit read/write option * stress-af-alg-defconfigs.h: update crypto defconfigs table * stress-memcpy: use "all" method by default, gets more testing spread * stress-cache: remove modulo operators, speed up code * stress-cache: ignore sfence if not available, add missing help and optimize * Force keep_stressing_flag to always be inlined -- Colin King Sat, 13 Feb 2021 22:23:24 +0000 stress-ng (0.12.02-1) unstable; urgency=medium [Adriand Martin] * Solved minor issue in README.Android Fixed minor issue related to CC variable when cross compiling [Jianshen Liu] * Fix read of TYPE_ID_STR value from jobfile [Colin Ian King] * Makefile: bump version * simplify allocation and null check to help cppcheck * Manual: update date * Fix a couple of spelling mistakes * README: update stress test count * stress-cpu: add the Fletcher16 checksum as a new cpu stress method * stress-vm-rw: uncomment goto failure exit * stress-vm-rw: write/read in 1G chunks * Manual: pluralize the word stat. * Manual: update contributors information * stress-schedpolicy: fix build warning when building with musl C library * stress-cpu: fix const warning from clang pedantic build * test-stime: pass address of time_t object to stime * Remove empty source * Add missing copyright dates and attribution * Add helper functions to get and free the temporary file path * kernel-coverage.sh: add f2fs bfs btrfs tmpfs and ramfs * core-cache: remove some debug messages, they add noise * stress-sigsegv: force SEGV with illegal long instruction (x86 only) * stress-pipe: allocate pipe buffer from heap and not stack * Manual: update stress-cpu ackermann description * stress-cpu: reduce ackermann m term to reduce influence on all cpu methods * Remove #define for __NR_memfd_secret * stress-resources: fix mq files not being reaped * stress-cpu: add ipv4checksum method * core-helper: rename stress_ip_checksum to stress_ipv4_checksum * stress-dev: only perform open tries if never opened before * core-try-open: make helper function static * Use the new try stress_try_open error returns to ensure open fails are skipped * core-try-open: resolve some stress-dev blocking issues, add richer error return * core-try-open: quick stat check before expensive slow open * Fix spelling mistakes found using codespell * stress-vecmath: avoid overflow sign extension errors * stress-secretmem: fix void cast on mappings * stress-secretmem: free mappings on early error return * stress-resources: ensure early break from loop gets cleaned up * stress-cpu: add Murmur3_32 hash to cpu stressor * core-thermal-zone: add some more comments * Manual: add a --cpu-load example to one of the --cpu stressor examples * stress-ng: forgot to include type_instance field change in previous commit * core-thermal-zone: sort thermal zone types on type name and type name instance * stress-rseq: remove volatile from rseq structs * stress-rseq: rename signature to valid_signature to avoid name shadowing * core-helper: make dirname smaller, reduce stack size * Add new secretmem stress test * kernel-coverage: exercise ext4, xfs, jfs, minix and vfat * stress-dev: add SCSI_IOCTL_GET_PCI ioctl * stress-rename: replace AT_FDCWD with directory fd * stress-link: put end of string marker on buf and not newpath * stress-link: handle EMLINK failures on linking * stress-filename: add filename length limit when probing filename * stress-dir: handle EMLINK failures on mkdir * stress-chdir: handle EMLINK failures on mkdir * stress-aio-linux: unlink file if open failed * core-helper: add a helper to truncate long filenames * stress-chattr: handle ENOTTY errors when ioctls are not supported * Add build-time check for struct sockaddr_un * stress-ping-sock: also add EACCES socket failure check * Add a new ping-sock stressor to exercise "ping" sockets * Manual: clarify the number of stressors for sequential option too * Manual: clarify the number of stressors: * stress-ng: update copyright to 2021 * stress-dev: add RNDADDENTROPY and RNDRESEEDCRNG ioctls * stress-loop: break overly wide line * stress-loop: mmap in loop dev and touch + flush pages * stress-resources: allocate a page with memfd * stress-resources: allocate fd and page using memfd_secret() * Add shim for new Linux system call memfd_secret() * stress-rseq: exercise invalid rseq calls -- Colin King Thu, 21 Jan 2021 22:46:16 +0000 stress-ng (0.12.01-1) unstable; urgency=medium [David Turner] * stress-hdd: strengthen verification with --verify --hdd N [Dominik B Czarnota] * Fix off-by-ones strncmp in stress-dev.c [Colin Ian King] * Makefile: bump version * Manual: update contributors section and date * stress-rseq: fix ptr cast to uint64_t warnings on 32 bit arm * stress-rseq: only build with gcc * stress-epoll: fix incorrect call to epoll_pwait when pwait2 version does not exist * stress-hdd: minor optimization, move hdd_flags & HDD_OPT_WR_SEQ check outside of loop * Update syscalls and TODO now that rseq has finally been implemented * stress-rseq: add a restartable sequence rseq(2) system call stressor * stress-aio-linux: ensure checking is really correct * stress-open: limit maximum number of open file descriptors on 32 bit systems * stress-cpu: fix --cpu-load timer issues * stress-longjmp: fix typo in macro * Define constants for {nano|micro|milli}seconds and use these * stress-cpu: add -ve delay sanity check to handle clock warping * stress-readahead: replace white space with tabs * stress-sysinfo: don't make EPERM errors a hard failure * Make pid_t print and scanning more portable * stress-aio-linux: fix error handling and submit waits, add sanity data checks * stress-epoll: remove white spaces * stress-epoll: use epoll_pwait2 if it is available. * stress-clone: remove noisy clone information -- Colin King Sat, 26 Dec 2020 16:35:22 +0000 stress-ng (0.12.00-1) unstable; urgency=medium * Makefile: bump version * stress-epoll: fix sanity check for an unexpected epoll_ctl success * stress-funccall: disable ALWAYS_INLINE for PCC * stress-inotify: add void argument, fixes pcc build warning * stress-epoll: fix pcc build warning * stress-close: add invalid flags call to close_range * core-shim: add flags field to close_range shim to match 5.10 system call * stress-utime: voidify return using assignment and voidification * stress-stack: reduce scope of variable ret * stress-sock: clean up some cppcheck warnings * stress-mlock: put HAVE_MLOCKALL into a statement block * stress-affinity: add in missing voidification of ret * stress-brk: remove redundant return 0 statement * stress-pkey: limit pkey system call warning to just instance 0 * core-helper: don't use getpwent for static stress-ng builds: * stress-stack: rename sz to mlock_sz to avoid variable shadowing * stress-pthread: remove duplicate declaration of ret to clean up build warning * stress-msg: rename variable i to j to avoid name shadowing warning * stress-prctl: remove redundant declaration of environ * stress-msg: clean up variable shadowing * stress-yield: workaround FreeBSD usleep bug * stress-timer: workaround duplicated timer_delete segfault in FreeBSD * stress-ng.h: make shim_unconstify_ptr a static inline helper * stress-link: cast getpid() return to int for %d format specifier * stress-open: only declare obsolete_futimesat when it is required * stress-mmap: voidify page_size if HAVE_MPROTECT is not defined * stress-access: declare variable j only if HAVE_FACCESSAT is defined * stress-sem-sysv: silently ignore failures on semctl commands * stress-sem-sysv: ensure 4th arg of semctl is zero when not used * stress-sem-sysv: fix zero semaphores case in GETALL semctl * stress-brk: don't exercise mlockall with MCL_FUTURE if it is not defined * Fix clobbering of errno by error message logging before reading errno * stress-sem-sysv: move scope of array sems * stress-poll: make tv_nsec out of range value a 32 bit value * stress-mmap: only use PROT_GROWSUP and PROT_GROWSDOWN if supported * Fix ~0ULL cast to void * build warnings on 32 bit builds * kernel-coverage: add --pathological for sysinval stress * syscalls: update work to do and recent changes * stress-vm-splice: add pipe to memory vmsplicing * stress-utime: exercise utime family of calls with invalid filenames * stress-sysinfo: fix build issues introduced by previous commit * stress-sysinfo: exercise ustat with invalid major/minor * stress-userfaultfd: exercise UFFDIO_WAKE * stress-ramfs: exercise umount with some invalid pathnames * stress-binderfs: exercise invalid umount calls * stress-hdd: exercise invalid ftruncate/truncate fd/filename * stress-hdd: exercise invalid ftruncate/truncate size * stress-timer: exercise duplicated timer_delete * stress-pthread: add tkill to shim and exercise it * stress-pthread: add tgkill to shim and exercise it * stress-sync-file: exercise 0 nbytes sync, it has special semantics * stress-swap: exercise swapon with invalid path * stress-sysinfo: exercise invalid statfs path * stress-fstat: exercise stat, lstat on invalid path * stress-splice: exercise splice with some more invalid or untested arguments * stress-bad-altstack: exercise sigaltstack with various stack settings * core-helper: fix comment, min stack size can be MINSIGSTKSZ * stress-sysinval: only allow with --pathological option (LP: #1906447) * stress-shm-sysv: exercise duplicated shmdt on unmapped addresses * stress-shm-sysv: define MPOL_* only if required, add one more shmctl call * stress-xattr: exercise invalid setxattr arguments * stress-set: add timezone argument to get more kernel coverage * stress-nice: fix priority ranges, use correct offset in priority * stress-set: exercise invalid pid and pgid in setpgid call * stress-clone: exercise setns with invalid nstype and fd * stress-set: exercise sethostname with illegal length host * stress-set: exercise a range of setgroups calls * stress-set: exercise setdomainname with invalid name length * stress-pthread: exercise set_tid_address with NULL address * stress-pthread: exercise set_robust_list with invalid length * stress-numa: add in a mix of various set_mempolicy calls * stress-sendfile: add more kernel coverage tests * stress-sendfile: periodically exercise sendfile with invalid arguments * core-helper: find bad_fd in reverse fd order if RLIMIT not supported * stress-sem-sysv: disable SETALL and exercise long run of semops * stress-sem-sysv: exercise semctl with various invalid arguments * stress-sem-sysv: add SIGCHLD handler to ensure pause() gets interrupted * stress-schedpolicy: exercise sched_setscheduler with invalid arguments * stress-affinity: exercise sched_{get|set}affinity with invalid arguments * stress-schedpolicy: exercise sched_getscheduler with bad pid * stress-schedpolicy: exercise sched_{get|set}param with invalid arguments * stress-schedpolicy: exercise sched_getattr with invalid arguments * kernel-coverage: exercise sysinval for longer * stress-dir: exercise various invalid pathnames for rmdir and add comments * stress-xattr: exercise ENOENT error on removexattr calls * stress-remap-file-pages: exercised locked mremap and invalid mremap arguments * kernel-coverage: remove trailing whitespace * Revert "stress-file-ioctl: enable FIFREEZE and FITHAW file ioctls" * kernel-coverage: add mremap --mremap-mlock option to add to coverage testing * stress-sock: exercise various invalid recv, recv, recvmmsg calls * stress-reboot: update magic values, add two clearly invalid cmds too * stress-link: exercise invalid readlinkat calls * stress-link: exercise invalid readlink calls, remove redundant cleanup * stress-readahead: exercise invalid fd and range of readahead sizes * stress-readahead: improve I/O speed and reduce setup time * stress-vm-rw: exercise process_vm_{read|write}v with invalid arguments * stress-prctl: exercise prctl PR_SET_MM_AUXV and PR_GET_TIMERSLACK more * stress-poll: add some invalid arg tests for ppoll * stress-cpu: correct the Ackermann count now we are doing calls * stress-cpu: modify number of iterations to improve cpu instruction mix * stress-pkey: exercise pkey system calls a little harder * stress-pipe: add FIONREAD ioctl build time detection * stress-pipe: exercise the FIONREAD ioctl on pipe read end * stress-pidfd: exercise pidfd_open with invalid pid * stress-handle: exercise name_to_handle_at and open_by_handle_at further * stress-mmap: exercise munmap with two invalid unmap calls * stress-msync: exercise some invalid msync calls * stress-msg: add some unusual msgsnd arguments to exercise kernel * stress-msg: exercise msgget a little more, create many message queues * stress-msg: exercise msgctl with invalid msqid and commands * stress-mremap: add --mremap-mlock option to mlock pages into memory * stress-mmap: remove some empty lines * stress-clone: remove whitespace * stress-mremap: exercise MREMAP_DONTUNMAP on a remap * stress-mq: exercise fstat and mmap on mq descriptor * stress-mq: exercise mq_close and mq_unlink with invalid arguments * stress-mq: exercise mq_notify with SIGEV_NONE and invalid notify notifications * stress-mq: exercise mq_getattr with invalid mq and exercise mq_setattr * stress-mmap: add some extra illegal mprotect calls * stress-numa: exercise move_pages with various valid and invalid arguments * stress-clone: exercise modify_ldt with extra command types * stress-get: disable gettimeofday with NULL args (LP: #1905205) * kernel-coverage: add two stack stressor options * stress-stack: add --stack-mlock option to lock stack pages into memory * stress-mlock: exercise mlock/munlock with invalid or unusual arguments * stress-mknod: exercise mknod S_IFDIR * stress-dir: exercise illegal length directory name * stress-numa: exercise migrate_pages with invalid arguments * stress-memfd: exercise memfd_create with illegal arguments and more flags * stress-membarrer: exercise illegal command and flags * stress-numa: exercise mbind with various illegal arguments * stress-madvise: exercise invalid madvise arguments * stress-seek: add SEEK_HOLE/DATA walkthrough * stress-link: exercise illegal cross-device hard links * stress-keyctl: exercise more keyctl commands * stress-file-ioctl: remove whitespace * stress-ioprio: exercise IOPRIO_WHO_{PGRP|USER} for invalid set/get * stress-ioprio: exercise some invalid set/get arguments * stress-ioport: add iopl test and exercise io calls with invalid args * stress-klog: add .supported check before running * stress-klog: inform use when klog can't be accessed because of permission reasons * stress-file-ioctl: exercise SEEK_CUR, SEEK_END on FS_IOC_UNRESVSP* ioctls * stress-file-ioctl: exercise invalid block range for FIBMAP ioctl * stress-file-ioctl: force ENOMEM with invalid dest_count with FIDEDUPERANGE ioctl * stress-aio-linux: fix errno checking and exercise aio POLLing * stress-aio-linux: make FSYNC/FDSYNC commands occur more frequently * stress-aio-linux: use direct system calls and just cancel one async op * stress-get: use NULL args for gettimeofday, update comments * stress-getrandom: exercise GRND_NONBLOCK | GRND_INSECURE and illegal flags * stress-open: voidify unused arguments to obsolete function helpers * stress-sock: exercise illegal getsockname calls * stress-open: exercise obsolete futimes and futimesat calls * stress-access: fix AT_EMPTY_PATH check * stress-itimer: exercise getitimer on all the itimers * stress-get: exercise getgroups with zero and invalid gid size argument * stress-getdent: exercise getdents with illegal zero size * stress-pthread: exercise get_robust_list with invalid PID * stress-numa: exercise get_mempolicy with invalid maxnodes argument * stress-hdd: exercise futimes with invalid times * kernel-coverage: exercise noatime and syncfs hdd options * stress-flock: add periodic /proc/locks exercising * stress-flock: exercise illegal lock command combination * stress-flock: exercise LOCK_MAND with LOCK_READ, LOCK_WRITE * stress-access: avoid name shadowing by renaming array flags * TODO: add xattr todo item * stress-xattr: add more invalid attribute strings and sizes * stress-sync-file: exercise sync_file_range with more illegal arguments * stress-iomix: add illegal fdatasync call for more kernel exercising * stress-fcntl: reset default signal using F_SETSIG with 0 arg * stress-epoll: exercise epoll_ctl_add with an illegal fd, clean up some errors * stress-chroot: voidify unused args parameter in non-linux builds * stress-chroot: don't exercise EFAULT check on non-linux systems * stress-chmod: exercise illegal filenames * stress-chdir: exercise some invalid chdir and fchdir calls * stress-cap: add macro define checks to ensure code is always buildable * stress-cap: exercise capget with different capability versions and invalid pid * stress-brk: add --brk-mlock option to mlock future brk pages into memory * stress-open: exercise new openat2 system call * stress-access: try to use faccessat2 for faccessat -- Colin King Thu, 3 Dec 2020 11:07:41 +0000 stress-ng (0.11.24-1) unstable; urgency=medium [Colin Ian King] * Makefile: bump version * stress-sysfs: make variables i and n plain signed ints. * stress-procfs: make variables i and n plain signed ints. * stress-physpage: reduce the scope of variable 'data' * stress-open: reduce the scope of variable 'dir' * core-helper: stress_get_file_limit: bail out after 250 closed fds * stress-vm: remove leading whitespace from short help info * core-helper: clean up variable shadowing warning * stress-mlock: clean up build warnings on use of mmap and munmap on openhipster * stress-clone: fix build issue with NetBSD and clone * stress-clone: fix build issue with kFreeBSD and clone * stress-procfs: exercise PCI PCIIOC_CONTROLLER procfs ioctl * stress-procfs: clean up warning when stress_proc_info has zero elements * stress-procfs: add ability to exercise specific procfs files in novel ways * stress-bad-altstack: add /dev/zero mapped stack * kernel-coverage: increase sysfs and procfs coverage durations * stress-procfs: remove empty lines * stress-procfs: improve procfs coverage by improving striding method * stress-sysfs: remove printf debug * stress-sysfs: add more methodical way of stepping through sysfs files * core-helper: add stress_dirent_list_prune to remove . and .. from scandir list * stress-tsc: add s390x support for time clock reading * stress-sockdiag: force more diag messages by running through all bit flags * Add build time check for __atomic_add_fetch * stress-lease: break up multiple defined() macro checks * stress-inotify: clean up comments to function args * stress-get: exercise various system calls with defunct/invalid PID * core-helper: add a racy "find a potiential free pid" helper * stress-icmp-flood: constify pointers * stress-session: remove shadowed declaration of variable ret * stress-clone: use NULL for stack on clone3 * stress-session: silently ignore ECHILD or EINTR waitpid errors * stress-efivar: add comment to lseek helper function * stress-session: improve error handling from child process * stress-mlock: mmap mappings array as it can be huge * stress-shm-sysv: fix errno reporting in error messages * stress-shm-sysv: fix spelling mistakes in error messages * stress-shm-sysv: fix error message and false positive failure * stress-fstat: break up multiple defined() macro checks * stress-fcntl: break up multiple defined() macro checks * stress-efivar: exercise efivar file with lseek/read, mmap and ioctls * stress-efivar: fix typo in comment * stress-dup: add dup2 race stressing for Linux * stress-handle: remove the "ended" debug message * TODO: add watch_queue to TODO list * stress-getrandom: silently ignore EINVAL errors * stress-dentry: exercise dir file descriptor more * stress-chattr: exercise with random flags and perform get/unset of original flag * TODO: remove uprobes, this has now been implemented * stress-apparmor: reduce error reporting on ENOENT errors * stress-clone: fix clone issues found on ARM64 -- Colin King Fri, 13 Nov 2020 20:51:27 +0000 stress-ng (0.11.23-1) unstable; urgency=medium [ Helmut Grohne ] * Makefile: remove touch of stress-ng for stress-vecmath object rule (Closes: #973389) [Colin Ian King] * Makefile: bump version * Manual: update contributors and update date * stress-uprobe: use tracing pipe and ensure this works on older kernels * stress-ng.h: workaround ALIGNED macro warnings on PCC * stress-uprobe: use correct printf format specifier for a uint32_t * stress-sockdiag: break out for loop rather than return * stress-tmpfs: remove shadowed offset declaration * stress-splice: add one more pipe to exercise pipe to pipe splicing * stress-splice: exercise some invalid splice calls * stress-procfs: add single char procfs reads and fix --procfs-ops termination * stress-uprobe: fix int to ptr cast warning on 32 bit systems * stress-tmpfs: fix incorrect lseek failure check * stress-mlock: fix build check for MCL_ONFAULT and MCL_FUTURE * stress-procfs: remove duplicated /proc/self * stress-dnotify: use DN_MULTISHOT where possible * stress-open: exercise fdinfo for open'd file descriptors * stress-file-ioctl: exercise FS_IOC_GETVERSION ioctl * stress-ptr: exercise linux fdinfo for pty file descriptors * stress-getrandom: add GRND_INSECURE flag * stress-verity: add ENOSPC check * syscalls.txt: add arch_prctl to the system call list * stress-prctl: add arch_prctl to the prctl stressor * stress-rtc: add in a few more RTC ioctls * stress-file-ioctl: enable FIFREEZE and FITHAW file ioctls * stress-file-ioctl: correctly implement FS_IOC_ falloc ioctls * stress-dir: exercise invalid truncates on directory fd and path * stress-uprobe: skip stressor if non-linux * test/test-executable-start: ensure symbol is available * stress-open: fix some one more warning GCC 6.5.0 / OpenIndiana * core-mlock: use shim version of mlock * stress-open: fix some build warnings GCC 6.5.0 / OpenIndiana * core-helper: fix build issue on OS X get_etext extern name * core-helper: fix start of text segment address * stress-sock: rename pointer bug to avoid name shadowing * stress-uprobe: add a uprobe tracing stressor * stress-get: add statfs, fstatfs and statvfs calls * stress-udp: exercise some setsockopt/getsockopt options * stress-sock: exercise setsockopt options * kernel-coverage: exercise open with the open-fd option * stress-open: add --open-fd option to exercise opening /proc/$PID/fd/* files * stress-open: try to open as many files as possible * stress-sock: make loop index size_t * stress-sock: exercise a range of getsockopt INET4 and INET6 options * stress-sock: add TCP congestion control setting and getting * stress-vdso: fix symbol lookup on clang built kernels * core-shim: fix build issue, rename __process_madvise to __NR_process_madvise * Fix a few spelling mistakes * Manual: fix a handful of spelling mistakes -- Colin King Fri, 30 Oct 2020 11:17:24 +0000 stress-ng (0.11.22-1) unstable; urgency=medium [Colin Ian King] * Makefile: bump version * Manual: update date and update contributors kudos * stress-dev: make function static, cleans up gcc-10 pedantic builds * stress-sockdiag: drop const, cleans up pedantic clang-10 warning * stress-dev: exercise sound control device ioctls * stress-sockdiag: exercise a wider range of protocol families * stress-verity: exercise FS_VERITY_HASH_ALG_SHA256 and FS_VERITY_HASH_ALG_SHA512 * stress-fork: avoid potential variable clobbering by vfork * TODO: add uprobes as a todo item * stress-verity: read data back and check block contents * stress-quota: exercise Q_GETNEXTQUOTA and some invalid quota arguments * stress-efivar: re-work comment to something more sensible * stress-physpage: add attempt to seek and read on /dev/mem * stress-msync: skip sanity check on FreeBSD, this currently always fails * stress-madvise: fix incorrect placement of #endif * stress-sock: exercise socket fdinfo * core-helper: remove debug in stress_read_fdinfo * core: add stress_read_fdinfo to read linux fdinfo data * core-out-of-memory: remove extraneous tab * stress-pidfd: exercise PIDFD_NONBLOCK * core-out-of-memory: add a couple more yield points * stress-sock: exercise SIOCUNIXFILE on AF_UNIX socket domains * stress-sock: add FIOSETOWN, SIOCSPGRP, SIOCGSTAMP_NEW and SIOCGSKNS ioctls * stress-pthread: exercise pthread_sigqueue * stress-cyclic: on EBUSY report a recommendation to run with less instance * stress-cyclic: report instance that fails with errors such as EBUSY * stress-sigfd: add build time detection of the signalfd system call * Use intptr_t instead of ptrdiff_t for ptr to int casting * stress-vdso: fix typo, remove extraneous i in message * stress-io-uring: fix another cast warning on 32 bit arm systems * stress-io-uring: fix cast warning on 32 bit arm systems * stress-verity: fix cast warning on 32 bit arm systems * stress-hdd: fix fcntl F_SET_FILE_RW_HINT incorrect argument * Manual: replace "the the" with "the" in comment * stress-icache: replace "the the" with "the" in comment * kernel-coverage: re-work to get good overall coverage in a few hour run * stress-mlock: add more yield points * stress-wait: ignore issues with a zero si_signo (part 2) * stress-wait: ignore issues with a zero si_signo * core-helper: only declare rlim if it is required * test: test-cdrom_tochdr: memset header to clean up cppcheck style warning * stress-xattr: voidify an unused return value in ret * stress-timer: reduce scope of variable ret * stress-procfs: remove redundant eos check on *pptr * stress-madvise: move int ret to a code block * stress-madvise: move pointer unmapped to a code block * stress-dir: no need to close dirfd if it has not been opened * stress-dir: add flock build time checks for systems that do not support it * stress-schedpolicy: only exercise NULL params on Linux * stress-fork: fix return type of local_shim_fork, should return pid_t * core-shim: fix minix build warning - declare stime() the minix way * stress-rename: simplify renameat/renameat2 detection * stress-sockpair: add more intelligence to socketpair failure returns * stress-verity: handle ENOTTY on FS_IOC_ENABLE_VERITY failure * stress-sockpair: close fds and bail out correctly on termination * stress-wait: fix missing break on if statement * tests/test-stime: fix static analysis warning * stress-shm-sysv: make get_bad_shmid static * stress-context: fix pedantic build warning on shadowed variable name * stress-shm-sysv: fix build warning on unused parameter cap_ipc_lock * stress-xattr: line break some overly wide lines * stress-xattr: add build time check for XATTR_SIZE_MAX * Makefile: use $(GREP) for grep * stress-sysfs: add ppoll on sysfs fd * stress-sysfs: increase timeout to 1 millisecond * stress-get: don't report failure on EPERM failures * syscalls: update vhangup entry * stress-session: exercise vhangup for more kernel coverage * stress-session: check session id failure return with (pid_t)-1 * stress-fork: exercise vhangup to get more kernel coverage * Add auto build detection of vhangup system call * stress-fork: put pid and errno info into a struct * syscalls: update process_madvise information * stress-set: exercise stime() if it is available * stress-fork: remove trailing white space * core-shim: remove debug foo message * stress-madvise: remove new line * stress-tee: re-enable invalid tee flags check with kernel release check * core-helper: add helper functions to help with kernel release values * stress-tee: relax invalid flags test for the moment * stress-madvise: exercise process_madvise() * core-shim: update with correct process_madvise API * stress-fork: try to exercise native fork system call * stress-wait: try to use syscalls in preference to libc wrapped wait* calls * stress-brk: detect if sbrk is implemented and improve shim wrapper * stress-context: add pre/post context region canary checks * stress-chattr: prefix defines with SHIM_ to avoid name clashing * stress-sem-sysv: voidify return from memset * stress-access: declare bad_fd if HAVE_FACCESSAT is defined * stress-lease: don't report a failure on termination on interrupted wait * stress-dir: remove tab, make line an empty new line * stress-ng.h: clean up some white spaces/intentations * stress-dir: exercise flocks on a dirfd * stress-dir: stat directory entries * stress-dir: add dir mmap and improve yielding and directory cleanup * stress-dentry: split multiple defined() checks over lines * stress-rename: return error state from exercise_renameat2 * stress-rename: return error state from exercise_renameat * stress-rename: break defined() checks over multiple lines * stress-rename: some minor reformatting changes and code cleanup * stress-rawdev: don't use static buffer in stress_rawdev_path, add comments * stress-oom-pipe: exercise invalid pipe size setting, add more yield points * stress-longjmp: add canary memory clobbering checks and longjmp timings * stress-lockf: add occasional F_TEST lockf command * stress-lease: terminate child if lease file open fails more than 3 times * stress-lease: exercise F_GETLEASE to get the lease type * stress-lease: add lease read locking * stress-key: replace sys_ prefix on syscall wrappers with shim_ * stress-kcmp: prefix kcmp_epoll_slot with shim to avoid kcmp name clashes * stress-judy: update stressor comment * stress-icache: clean up incorrect tab spacing on a continuation marker * core-out-of-memory: do zero re-wait on failed first wait * stress-handle: use the oomable child helper * stress-handle: clean up code, add upper bounds on mount info being read * syscalls: update readlinkat entry * stress-link: exercise readlinkat and add build detection * Add a signal() exercsing stressor * stress-get: remove void argument in sgetmask call * stress-set/get: exercise obsolete system calls sgetmask/ssetmask * stress-set: exercise setfsuid() and add in build-time detection * stress-set: exercise setfsgid() and add in build-time detection * syscalls: update note for settimeofday * syscalls: add note for nfsservctl * stress-shm-sysv: fix failed open check on map_files open * stress-sockabuse: voidify returns of several system calls * stress-shm-sysv: voidify returns of several system calls * stress-pthread: voidify args with empty stress_pthread_tid_address * stress-verity: add a file system verity stressor * stress-file-ioctl: fix errno handling and remove temp directory * stress-shm-sysv: minor cleanups, make buffer smaller * stress-af-alg: check for ELIBBAD on bind * stress-dev: add termios2 ioctls * Add readlink shim to avoid calling readlinkat to get more kernel coverage * kernel-coverage: remove zombie max stressor, it's OOMing too much * syscalls.txt: update entry for lookup_dcookie * stress-get: perform lookup_dcookie calls on random cookies * stress-pthread: exercise set_tid_address if it is available * stress-get: add obsolete ugetrlimit call * stress-dir/mknod: use shim_strlcpy instead of strlcpy (LP: #1896010) * stress-mknod: add mknodat system call if it is available * syscalls: update entry for unlinkat * stress-dirdeep: add unlinkat call and autodetect syscall at build time * stress-dir: use mkdirat if it is available to create directories [Khalid Elmously] * stress-wait: add missing semi-colon [Piyush Goyal] * stress-tee: exercise tee syscall with 0 len * stress-tee: add check on tee for same pipes * stress-tee: exercise tee with invalid flags * stress-rename: correct a typo in a comment * stress-rename: exercise renameat2 on file fd * stress-rename: exercise renameat on bad fd * stress-rename: exercise valid renameat2 on RENAME_EXCHANGE flag * stress-rename: exercise renameat2 on file fd * stress-rename: exercise renameat2 on bad fd * stress-rename: add check for renameat2 EEXIST error * stress-rename: add check for renameat2 on ENOENT error * stress-rename: exercise renameat2 with invalid combination of flags * stress-rename: exercise renameat2 with invalid flags * stress-shm-sysv: add check for shmctl EIDRM error * stress-shm-sysv: exercise shmctl on invalid shmid * stress-shm-sys: exercise invalid commands in shmctl syscall * stress-shm-sysv: add check for shmget ENOENT error * stress-shm-sysv: increase kernel coverage for shmget syscall * stress-shm-sys: add check shmget EPERM error * stress-shm-sysv: add check for shmget syscall EINVAL error * stress-shm-sysv: add check for shmget syscall EINVAL error * stress-shm-sys: exercise shmget on invalid sizes argument * stress-shm-sys: exercise shmget on invalid flags * stress-shm-sysv: exercise shmat on unaligned address and SHM_RND * stress-shm-sysv: exercise shmdt on unaligned page address * stress-shm-sysv: exercise shmat on unaligned page address * stress-shm-sysv: exercise shmat with SHM_REMAP flag on NULL address * stress-shm-sysv: exercise shmat with all possible values of flags * stress-shm-sysv: exercise shmdt on invalid flag * stress-shm-sysv: exercise shmat on invalid fd * stress-xattr: add check on setxattr syscall XATTR_CREATE flag * stress-xattr: exercise invalid size argument setxattr syscall * stress-xattr: add check on setxattr syscall XATTR_REPLACE flag * stress-xattr: exercise invalid setxattr syscall * stress-aio-linux: exercise invalid io_setup syscall * stress-xattr: add check on lsetxattr syscall XATTR_CREATE flag * stress-xattr: exercise invalid size argument lsetxattr syscall * stress-xattr: add check on lsetxattr syscall XATTR_REPLACE flag * stress-xattr: exercise invalid lsetxattr syscall * stress-xattr: exercise invalid size argument fsetxattr syscall * stress-xattr: add check on fsetxattr syscall XATTR_CREATE flag * stress-xattr: add check on fsetxattr syscall XATTR_REPLACE flag * stress-xattr: exercise fsetxattr with invalid flags * stress-schedpolicy: exercise invalid sched_setparam syscalls * stress-schedpolicy: exercise invalid sched_getparam syscalls * stress-schedpolicy: exercise invalid sched_setattr syscalls -- Colin King Thu, 22 Oct 2020 19:51:52 +0100 stress-ng (0.11.21-1) unstable; urgency=medium [Colin Ian King] * Makefile: bump version * Manual: update date * stress-unshare: don't report ENOSPC as a failure in the unshare * Makefile: remove personality info, it is distracting * stress-clock: fix build warnings BSD systems * Makefile: remove -DHAVE_LINUX_IO_URING_H, it was included for testing * stress-dev: fix build warnings on non-Linux platforms * stress-dev: fix build error on non-linux systems with Xen guest checking * README: update number of stress tests * stress-dirdeep: add post recursion yield point check * stress-io-uring: add build-time checking for io-uring opcode enums * Makefile: provide personality build information * Makefile: make core first to keep order alphabetic * stress-io-uring: exercise NOP and FSYNC IO opcodes * stress-sysfs: skip over gcov sysfs debug files * stress-dirdeep: declare dirfd when HAVE_LINKAT is also defined * stress-dirdeep: exercise linkat in a few different ways * stress-clock: add build time check for TIMER_ABSTIME * core-helper: use shim strl* functions * stress-eventfd: remove { } for one line block statement * stress-eventfd: perform illegal writes periodically * stress-unshare: add in missing empty line * stress-io-uring: reap resources at end of test, exercise fdinfo * stress-io-uring: remove CLASS_INTERRUPT from stressor classes * Add stress_mk_filename to make a filename from full path and name * stress-inotify: fix build warning * io-uring: fix help, it was cut-n-pasted from io async stressor * Add io-uring stressor to exercise io-uring system calls * stress-inotify: some minor code style changes, no functional changes * stress-inotify: optimization: get bad fd just once * stress-inotify: fix build failures on systems without IN_MASK_CREATE and IN_MASK_ADD * stress-shm-sysv: exercise SYSV namespace objects * stress-sem-sysv: remove busy loop, replace it with pause * stress-sem: remove busy loop, replace it with pause * stress-fanotify: fix build warning on declaration of bad_fd * stress-fanotify: fix build failure with systems where FAN_MARK_INODE is not defined * stress-fanotify: fix name shadowing on function parameter mnts * stress-timerfd: fix shadowing of variable ret * stress-close: fix variable shadowing of ret * stress-dev: add some device timeouts on slow optical devices * stress-fallocate: remove some whitespaces/lines * stress-fallocate: exercise illegal offset and lengths * stress-fallocate: exercise illegal fallocate on a pipe * stress-fallocate: add a blank line * stress-fallocate: exercise some illegal modes * stress-dev: allow hpet checking if not a Xen guest * stress-timerfd: fix check of CLOCK_REALTIME_ALARM [Piyush Goyal] * stress-schedpolicy: exercise invalid sched_getattr syscalls * stress-timer:exercise nanosleep on invalid timespec * stress-clock: exercise clock_nanosleep on invalid timespec * stress-clock: Exercise clock_nanosleep on invalid clock id * stress-clock: exercise clock_adjtime on invalid clock id * stress-eventfd: exercise illegal writes on event fd * stress-eventfd: initialise the value written in event fd * stress-eventfd: read from event fd on a small buffer * stress-eventfd: exercise eventfd with invalid flags * Makefile.config: add build time check for epoll_create * stress-inotify: exercise inotify_rm_watch on non-inotify fd * stress-inotify: exercise inotify_rm_watch on invalid wd * stress-inotify: exercise inotify_rm_watch on bad fd * stress-inotify: Exercise inotify_add_watch on bad_fd * stress-inotify: exercise inotify_add_watch on already existing fd * stress-inotify: exercise inotify_add_watch with two operations * stress-inotify: exercise inotify_add_watch with bad mask * stress-inotify: exercise invalid inotify_init1 * syscalls.txt: add inotify_init syscall * stress-inotify: add syscall inotify1 and exercise it * stress-fanotify: exercise invalid combination of flags * stress-fanotify: add build time check for FAN_MARK_MOUNT * stress-fanotify: Add fanotify syscalls * stress-fanotify: Add test for fanotify_mark syscall * stress-fanotify: Exercise fanotify_mark on bad fd * stress-fanotify: Exercise fanotify_mark with invalid flag * stress-fanotify: add test_fanotify_mark * stress-fanotify: Exercise fanotify_init syscalls with different flags * stress-fanotify: Add fanotify_init syscalls * stress-timerfd: Exercise timerfd_settime with invalid flags * stress-timerfd: Exercise non valid timerfd file descriptor -- Colin King Wed, 16 Sep 2020 22:58:21 +0100 stress-ng (0.11.20-1) unstable; urgency=medium [André Wild] * Fix error if only HAVE_TERMIOS is not set * stress-zlib: Fixes race conditions during deflate/inflate * stress-ipsec-mb: Fixes out of bounds access of unterminated funcs array * stress-zlib: new zlib stressor options [Colin Ian King] * Makefile: bump version * stress-zlib: cast pid_t to int for %d format specifier * stress-timerfd: only define cap_wake_alarm when it is required * stress-open: cast pid_t to int for %d format specifier * stress-timerfd: add build checks for CLOCK_REALTIME_* timers * stress-memthrash: fix premature termination by OOM handler * stress-memthrash: fix typo in comment "Wait" -> "Wake" * stress-zlib: use %zd for ssize_t, fixes build warning on GNU/HURD * stress-vforkmany: improve waiting by terminating child * stress-open: fix build failures on systems that don't support O_PATH * stress-close: add directory clean up at end * stress-affinity: use 16 processes to hammer affinity changes per stressor * stress-af-alg: break some overly long lines * stress-af-alg: add string overflow sanity check * stress-access: break wide defined() checks to 2 lines * stress-madvise: make signal message text plural on > 1 SIGBUS signals * stress-zlib: move declaration of reval, voidify return from waitpid * stress-close: remove duplicated bad_fd declaration * stress-zlib: print args.stream_bytes as unsigned long long * stress-ng.h: build in target clone types if gcc supports the feature * stress-enosys: re-write int $80 x86-64 syscall * stress-dev: clean up indentation * syscalls.txt: add openat2 notes * Makefile.config: add config test for struct open_how * stress-open: call open() directly if possible * stress-open: add openat system call check and exercise it * stress-close: exercise new close_range system call [Piyush Goyal] * stress-timerfd: Exercise non valid timerfd file descriptor * stress-timerfd: Add invalid timerfd_gettime syscalls on bad fd * stress-numa: Add check mbind cannot succeed without capability * stress-pidfd: Exercise invalid pidfd_getfd syscall * stress-numa: Add MPOL_F_MEMS_ALLOWED flag get_mempolicy syscalls * stress-close: Exercise faccessat syscall on file fd * stress-xattr: Reorganise and exercise invalid fgetxattr syscall * stress-xattr: Exercise getxattr with small value buffer * stress-timerfd: Exercise invalid timerfd_create syscall * stress-timerfd: Add check timerfd_create cannot succeed without capability * stress-xattr: Exercise invalid lgetxattr syscall * stress-pidfd: Exercise pidfd_getfd syscall with bad_fd * stress-numa: Exercise invalid mbind syscall * stress-numa: Add invalid get_mempolicy syscalls * stress-numa: Exercise invalid get_mempolicy syscall * stress-xattr: Exercise invalid fgetxattr syscall * stress-close: Exercise faccessat syscall with invalid flags * stress-close: Exercise faccessat syscall on bad dirfd * stress-dev: Exercise VT_RESIZE and VT_RESIZEX ioctl syscall * stress-dev: Exercise KDGKBDIACR ioctl syscall * Makefile.config: Define Macros HAVE_UNIMAPDESC * stress-dev: Exercise KDGKBSENT and KDSKBSENT ioctl syscalls * stress-dev: Exercise GIO_UNISCRNMAP and PIO_UNISCRNMAP ioctl syscalls * stress-dev: Exercise GIO_SCRNMAP and PIO_SCRNMAP ioctl syscalls -- Colin King Mon, 7 Sep 2020 17:41:24 +0100 stress-ng (0.11.19-1) unstable; urgency=medium [Colin Ian King ] * Makefile: bump version * stress-cpu: add workaround for unnamed bit-fields * stress-dev: move opt_set_funcs and stress_set_dev_file to fix build issue * stress-stackmmap: cast stack to void * to avoid build warnings * stress-epoll: only declare epoll_ctl_mode if EPOLLEXCLUSIVE is defined * stress-epoll: fix broken epoll controls, add helpers * stress-vecmath: re-work vectorization of setup values * stress-procfs: rename ptr to pptr (path ptr) to avoid variable shadowing * stress-dev: add build autodetection for struct winsize * stress-dev: add build autodetection for struct termios * stress-dev: remove trailing whitespace * stress-dev: add build autodetection for struct kbentry * Makefile.config: re-order dm_ioctl check * Makefile.config: re-order vt_stat check * stress-dev: add build autodetection for struct vt_mode * stress-dev: add build autodetection for struct unimapdesc * stress-dev: add build autodetection for struct kbkeycode * stress-dev: add build autodetection for struct consolefontdesc * stress-dev: add ioctl header checks for console and vt ioctls * stress-dev: add build autodetection for struct v4l2_dv_timings * stress-dev: remove incorrect v4l2 ioctl test that's using wrong struct type * stress-dev: add build autodetection for struct v4l2_enc_idx * stress-dev: add check for v4l2_std_id * stress-dev: add build autodetection for struct v4l2_jpegcompression * stress-dev: add build autodetection for struct v4l2_audioout * stress-dev: add build autodetection for struct v4l2_audio * stress-dev: add build autodetection for type v4l2_std_id * stress-dev: add build autodetection for struct v4l2_framebuffer * stress-dev: add build autodetection for struct v4l2_capability * stress-dev: Add a new --dev-file option to specify the device to exercise * stress-procfs: force ENOENT on invalid procfs path traversal * stress-dev: add auto build config check for struct media_device_info * stress-dev: add auto build config check for cdrom_blk * stress-bad-ioctl: ensure we have a bad page without a following mapped page * Add PCC compiler build notes to README file * Add support to build with the pcc compiler * stress-dev: replace (void)ioctl with ret = ioctl() [Piyush Goyal] * stress-dev: Exercise KDGKBENT and KDSKBENT ioctl syscalls * stress-dev: Exercise VT_GETMODE and VT_SETMODE ioctl syscalls * stress-dev: Exercise GIO_UNIMAP and PIO_UNIMAP ioctl syscalls * stress-dev: Exercise KDGKBMETA and KDSKBMETA ioctl syscalls * stress-dev: Exercise KDGKBMODE and KDSKBMODE ioctl syscalls * stress-dev: Exercise GIO_FONT and PIO_FONT ioctl syscalls * stress-dev: Exercise KDGETKEYCODE and KDSETKEYCODE ioctl syscalls * stress-dev: Exercise GIO_FONTX and PIO_FONTX ioctl syscalls * stress-dev: Exercise CDROMPLAYBLK ioctl syscall * stress-dev: Exercise CDROMSETSPINDOWN ioctl syscall * stress-dev: Exercise CDROM_SELECT_SPEED ioctl syscall * stress-dev: Exercise CDROM_DEBUG ioctl call * stress-dev: Exercise GIO_CMAP and PIO_CMAP ioctl syscalls * stress-dev: Reorder the KDGKBTYPE ioctl call -- Colin King Mon, 24 Aug 2020 15:13:11 +0100 stress-ng (0.11.18-1) unstable; urgency=medium [Colin Ian King ] * Makefile: bump version * stress-stackmmap: cast mmap return to uint8_t to clean up build warning * stress-set: declare bad_uid and cap-setuid only for HAVE_SETREUID case * stress-dev: break multi #if defined checks across multiple lines (2) * stress-dev: add auto build config check for struct dm_ioctl * stress-dev: add auto build config check for struct vt_stat * stress-dev: add auto build config check for struct vt_mode * stress-dev: break multi #if defined checks across multiple lines * stress-dev: add auto build config check for dvd_authinfo * stress-dev: add auto build config check for dvd_struct * stress-dev: add auto build config check for cdrom_read_audio * Makefile.config: re-order cdrom checks into correct alphabetical order * stress-dev: add auto build config check for cdrom_subchnl * stress-dev: add auto build config check for cdrom_volctrl * stress-dev: add auto build config check for cdrom_mcn * Makefile.config: move cdrom struct checks to struct checking part of autodection * stress-dev: add auto build config check for cdrom_ti * stress-dev: add one more HAVE_CDROM_MSF check and break up #if defined checks * stress-dev: fix musl gcc build warning * stress-dev: use uint8_t and uint32_t instead of __u8 and __u32 types * stress-dev: add auto build config check for cdrom_msf * stress-dev: add auto build config check for cdrom_tocentry * stress-dev: add auto build config check for cdrom_tochdr * stress-stackmmap: don't use void * pointer arithmetic * stress-remap-file-pages: don't use void * pointer arithmetic * stress-aio-linux: use correct format specifier for size_t * stress-dev: fix matching #endif and } causing build warnings * stress-utime: add O_PATH fd test case for utimensat * stress-ng.h: add -Wnonnull to disabled warnings * stress-ng: Add SIGTTOU, SIGTTIN and SIGWINCH to the signal ignore array * stress-dev: voidify fd in cdrom stressor to avoid build warnings * core-helper: fix build warnings, add in missing const * stress-bad-ioctl: rename rc to ssjret to avoid name shadowing * Add auto build detection of linux/cdrom.h and define HAVE_LINUX_CDROM_H * test/test-aio-{read|write}: memset structs to avoid static analysis warnings * kernel-coverage.sh: add log file to capture test times * kernel-coverage.sh: make oom-pipe oomable * stress-dup: add more yield points * stress-numa: silently ignore migrate pages failures * stress-bad-ioctl: add random page data to the mix * Add a --bad-ioctl stressor that performs _IOR ioctl read commands * core-helper: make uid gap at least 250 to reduce race window * Add helper stress_get_unused_uid to find an unused uid * stress-nice: fix build issue when HAVE_SETPRIORITY is not defined * stress-aio: add autoconfig checks for aio-{cancel|read|write} * Makefile.config: ensure libatomic is linked in correctly * stress-sigtrap: move case statement to fix fallthrough build warning * core-out-of-memory: only fall back to old oom interface if new one does not exist * core-helper: remove stress_sigalrm_block() * core-log: remove pr_msg_fail() * stress-ng: remove dead code * stress-sigtrap: fix build error when SIGTRAP is not defined * fix a lot of spelling mistakes and typos * example-jobs: fix a couple more spelling mistakes * example-jobs: fix some spelling mistakes * stress-epoll: check for failure against the intended errno * stress-pty: rename struct fields to use follower/leader instead * kernel-coverage.sh: remove debug if/endif * kernel-coverage.sh: ensure log does not overflow and make script less OOM-able * core-mlock: ensure mlock address arg is const * stress-set: remove shadowed declaration of variable ret * stress-epoll: only build EPOLLEXCLUSIVE if it is defined * stress-get: rename array rlim to rlims to avoid name shadowing * stress-epoll: fix pedantic build mode failure [Piyush Goyal] * stress-dev: Exercise KDGKBTYPE ioctl call * stress-dev: Exercise KDGETMODE and KDSETMODE ioctl syscalls * stress-dev: Exercise KDGKBLED and KDSKBLED ioctl syscalls * stress-dev: Exercise valid and invalid KDSETLED ioctl calls * stress-dev: Add Stressor for Console Driver * stress-dev: Exercise CDROMREADMODE1 and CDROMREADMODE2 ioctl syscalls * stress-dev: Exercise CDROMREADRAW ioctl syscall * stress-dev: Exercise CDROMPLAYMSF ioctl syscall * stress-dev: Exercise CDROMPLAYTRKIND ioctl syscall * stress-dev: Exercise CDROMMULTISESSION ioctl sycall for CDROM driver * stress-dev: Add ioctl calls for CDROM driver * stress-dev: Exercise all possible DVD_READ_STRUCT ioctl syscalls * stress-dev: Add in the /dev/sr0 to the dev_funcs array * stress-dev: Exercise ioctl syscall for CDROM driver * stress-dev: Exercise CDROMVOLCTRL ioctl syscall * stress-dev: Add ioctl syscalls for cdrom driver * stress-dev: Add more readable ioctl calls for CDROM driver * stress-dev: Add readable ioctl calls for CDROM driver * stress-dev: Add ioctl calls for CDROM driver * stress-dev: Add stressor for CDROM driver * stress-dev: Add v4l ioctl tests * stress-dev: Add test for ioctl command VIDIOC_G_STD * stress-dev: Add test for ioctl command VIDIOC_G_AUDIO * stress-dev: Add test for ioctl command VIDIOC_G_INPUT * stress-dev: Add test for ioctl command VIDIOC_G_OUTPUT * stress-dev: Add memset for structure v4l2_capability * stress-dev: Add test for ioctl command VIDIOC_G_FBUF * stress-set: Test setreuid cannot succeed without capability * stress-getrandom: Exercise invalid getrandom syscall * stress-eloop: Pass efd2 as argument to test_eloop() * stress-nice: Test nice cannot increase priority with capability * stress-epoll: Test epoll instance cannot be added with EPOLLEXCLUSIVE flag * stress-nice: Exercise invalid nice syscall with invalid inc argument * stress-flock: Exercise invalid flock syscall * stress-epoll: Test EPOLL_CTL_MOD cannot be applied to EPOLLEXCLUSIVE * stress-epoll: Test for modification of EPOLL_EXCLUSIVE in epoll_ctl * stress-eloop: Add test for ELOOP error * stress-set: Add comment for setrlimit syscall -- Colin King Wed, 12 Aug 2020 15:41:22 +0100 stress-ng (0.11.17-1) unstable; urgency=medium [Colin Ian King ] * Makefile: bump version * Close build issue (fixed on previous upload) (Closes: #964638) * handle EFAULT for kernels that generate SIGSEGV * stress-get: handle EFAULT for kernels that generate SIGSEGV * stress-epoll: flag an error on bad events buffer if it returns more than 0 events * stress-open: add invalid O_TMPDIR and O_CREATE tests * stress-open: use stress_get_max_file_limit to get max file limit * core-helper: add stress_get_max_file_limit to return max file open limit * stress-open: retry opening on a failed open * stress-open: keep opening until the maximum open file limit is hit * stress-numa: fix indentation issue with comment * stress-get: move invalid getrlimit test to outside of the loop * stress-mincore: exercise mincore with MAP_NONE vec argument * Add some pages that can be used for invalid argument system call tests * stress-mincore: exercise some invalid and unexpected mincore arguments * stress-mlock: clean up some indentations * stress-mlock: improve the method of finding maximum mlockable size * stress-mlock: fix max limit on mlocked region size [Piyush Goyal] * stress-epoll: Exercise illegal epoll_pwait syscall with bad address * stress-epoll: Exercise illegal epoll_wait syscall with bad address * stress-get: Exercise illegal uname call with bad address * stress-set: Verify hard limit cannot be increased without capability * stress-set: Add condition to test rlim_curr > 1 * stress-set: Exercise invalid setrlimit syscall with invalid rlim argument * stress-get: Exercise invalid prlimit syscall with invalid resource argument * stress-set: Exercise invalid setrlimit syscall with invalid resource argument * stress-get: Exercise invalid getrlimit syscall with invalid resource argument * stress-mlock: Test mlock syscall cannot proceed without permission * stress-mlock: Exercise invalid mlockall syscall with invalid flag * stress-mlock: Exercise invalid mlockall syscall with only MCL_ONFAULT flag * stress-mlock: Exercise invalid mlock2 syscall with invalid flags * stress-epoll: Exercised Invalid epoll_wait syscall with invalid maxevents argument * stress-epoll: Exercised Invalid epoll_pwait syscall with invalid maxevents argument -- Colin King Mon, 27 Jul 2020 19:32:11 +0100 stress-ng (0.11.16-1) unstable; urgency=medium [Piyush Goyal] * stress-epoll: Exercise epoll_ctl syscall with EPOLL_CTL_MOD on fd not registered * stress-epoll: Exercise invalid epoll_ctl_add by adding already registered fd * stress-epoll: Reorder invalid epoll_ctl syscall with EPOLL_CTL_DEL operation * stress-epoll: Exercise epoll_ctl syscall with EPOLL_CTL_DEL on fd not registered * stress-epoll: Exercise epoll_ctl syscall with Invalid Operation * stress-epoll: Exercise epoll_create1 syscall with valid non-zero flags argument * stress-epoll: Exercise invalid epoll_ctl syscall with same fd and epfd * stress-epoll: Exercise epoll_create1 syscall with invalid flags argument * stress-epoll: Exercise epoll_create syscall with invalid size argument * stress-clock: Ensure clock_settime cannot proceed without privilege * stress-set: Added test checking settimeofday syscall cannot proceed without privileges * stress-numa: Exercise getcpu syscall with a non-null pointer to tcache argument * stress-dup: Exercise dup3 syscall with same oldfd and newfd * stress-dup: Added test exercising invalid dup3 syscall with closed fd * stress-dup: Added test exercising invalid dup3 syscall with invalid flag * stress-clock: Added test exercising clock_settime syscall with negative time * stress-clock: Added test exercising clock_settime syscall having an illegal clockid * stress-clock: Added test exercising clock_gettime syscall having an illegal clockid * stress-clock: Added test exercising clock_getres syscall having an illegal clockid * stress-pidfd: exercise pidfd_send_signal syscall by passing a pointer to info argument * stress-pidfd: Added tests exercising pidfd_open syscall with negative pid argument * stress-pidfd: Added tests exercising pidfd_send_signal syscall with illegal flags argument * stress-pidfd: Added tests exercising pidfd_open syscall with illegal flags argument * syscalls.txt: Removing the extra occurrence of getcwd * stress-get: Added Tests exercising getpriority calls having non-zero who argument [Colin Ian King ] * Makefile: bump version * stress-bad-altstack: add check for getauxval * stress-sigchld: only set SA_SIGINFO if it is available * stress-xattr: terminate with EXIT_NO_RESOURCE if system call not supported * stress-xattr: skip test if ENOSYS is detected * stress-mknod: remove debug message * stress-epoll: clean up some indentation * stress-sigfd: exercise with an invalid non-signal fd file descriptor * stress-sigfd: exercise signalfd with invalid fd and flags * stress-loop: add LOOP_CONFIGURE ioctl * stress-bsearch: add in missing empty line between declaration and statement * core-time: add ( ) to keep to the informal stress-ng coding style * core-thermal-zone: uncapitalize error message * core-shim: add comments for enosys wrapper * core-perf: constify some read-only structure fields * core-mlock: constify m_addr_start as it never changes * core-mincore: make uintptr const as it never changes * core-limit: remove blank line * core-job: make stress_chop an inlined helper function * stress-dccp: constify opt field in stress_dccp_opts_t * stress-dev: remove duplicated comment * stress-klog: use SHIM_* for CAP_SYS settings * stress-numa: add some ( ) according to the informal coding style * stress-klog: exercise more klogctl commands to improve kernel coverage * stress-mknod: exercise char and block device mknod calls * stress-epoll: remove extraneous space before a comment * stress-loop: exercise loop /sys/devices/virtual/block/loopX/loop/* attributes * stress-loop: exercise LOOP_CHANGE_FD with invalid fd * stress-loop: exercise LOOP_CTL_ADD * stress-loop: try to associate loop with a file backing with invalid fd * stress-loop: fsync on loop backed device * stress-loop: unlink backing file as soon as possible * stress-sysinfo: only define bad_fd when it is required * stress-nanosleep: remove unused opt_set_funcs * stress-dup: don't make do_dup3 conditional on HAVE_DUP3 * stress-sigchld: add new stressor that exercises SIGCHLD handling * stress-chattr: handle EOPNOTSUPP failures * stress-clock: cache the capability setting and move test * stress-set: rework error message to provide some extra info * stress-set: move tv to local scope to fix any build warnings * stress-ng.h: redefine SHIM_CAP_IS_ROOT to -1 * use SHIM_CAP_IS_ROOT instead of 0 for root capability checks * stress-ng.h: Add a SHIM_CAP_IS_ROOT shim capability * stress-ng.h: Update to the current full list of capabilities * stress-skiplist: remove debug helper function * core-shim: perform syscall if libc does not provide call but __NR_* is available * stress-dup: remove need for HAVE_DUP3 since this is handled in shim * core-shim: add syscall to dup3 if HAVE_DUP3 is not available * core-log: fix corrupted log when using --log-file and --log-brief options * stress-mmapaddr: exercise MAP_FIXED_NOREPLACE flag * stress-poll: else if statement braces * stress-pipeherd: fix typo on child pid comparison * rename stress_proc_stats_t to stress_stats * stress-ng: rename proc to stressor * rename num_procs to num_instances * stress-ng: rework the stressor startup loops * stress-nanosleep: drop number of pthreads to 8 * stress-bad-altstack: add VDSO as a target for the stack, add comments too * stress-pipeherd: fix where empty line is located * syscalls.txt: update nanosleep syscall * stress-nanosleep: add new nanosleep stressor * stress-sysinfo: exercise system calls with invalid path and fd * exercise kernel a little more to improve kernel coverage * stress-nice: ensure setpriority is called only if we have this system call * stress-kcmp: exercise some invalid kcmp calls * stress-dev: refactorization: use stress_hash_pjw * stress-personality: exercise invalid personalities * snap: remove deprecated version-script from snapcraft -- Colin King Tue, 21 Jul 2020 19:32:11 +0100 stress-ng (0.11.15-1) unstable; urgency=medium [bybug] * stress-sysinval: fix build failure for getresuid32 [Christopher Brown] * README: Fix some requirement names for RHEL/Centos/Fedora [Piyush Goyal] * syscalls.txt: Corrected typo in the name of getcwd syscall * stress-get: Added check for equality of return value and pointer passed in getcwd syscall * stress-get: Added tests exercising getpriority calls using illegal arguments * stress-get: Added tests exercising gettimeofday system calls using syscall() * stress-get: exercise gettimeofday syscall by passing a pointer to timezone * stress-get: handle ENOSYS from shim wrappers as no fatal, remove verify check * stress-get: Added tests exercising time system calls using syscall() * stress-get: exercise time syscall by passing a pointer to time_t * stress-nice: exercise illegal maximum priority to get more kernel test coverage (1) * stress-nice: exercise illegal maximum priority to get more kernel test coverage (2) [Colin Ian King ] * Makefile: bump version * Makefile: only build Makefile.config with one thread * Makefile.config: remove duplicate Android binder checks * stress-zero: remove duplicated assignment to ptr64 * stress-rlimit: rename array stack to avoid shadowing * stress-ioport: clean up shadowing of variable ret * stress-getrandom: reduce scope of variable ret * core-shim: voidify inc argument to shim_nice * core-shim: handle nice not being available * core-limit: ensire max_fd is initialized * stress-sockfd: silently ignore ETOOMANYREFS failures * stress-vm-addr: make helper function reverse64 inlined * stress-vforkmany: fix typo in comment, add notes about dirty hack * stress-memthrash: add memmove option to copy data * stress-seek: exercise invalid lseek system calls * stress-rlimit: fix segv caused by passing a NULL context and exercise all rlimit resource ids * test/test-timer-create: memset sev to set all fields to zero * Makefile.config: remove need for HAVE_NOT, and add MAKE_OPTS * Manual: update names of contributors * stress-fstat/manual: replace inaccurate language * stress-fcntl: exercise fcntl with some invalid arguments * stress-timerfd: don't set timers or exercise timers with an invalid fd * stress-timerfd: fix typo in timerfd error message and also print bad fd * README: add libatomic1 requirement * Add requirement for libatomic1 for atomic builds * Makefile: drop duplicated lib variables, they are picked up in Makefile.config * Makefile*: use -pthread instead of -lpthread * stress-enosys: ignore sigsuspend, it will stop the child * stress-enosys: set itimer before every type of system call * stress-enosys: cater for 32 bit compat sigsuspend syscall * stress-enosys: exit after a system call if process has forked * stress-fnctl: fix broken build, I pushed the wrong development change * stress-fanotify: remove trailing tab * stress-fanotify: exercise fanotify_init with invalid flags * stress-oom-pipe: optimize buffer writes, set buffer up once * stress-netlink-proc: remove empty line * stress-mq: remove some more white spaces and empty lines * stress-mq: remove blank line * stress-mlock: fix typo in comment "bogos" -> "bogus" * stress-mincore: munmap mapped page on ENOSYS error from mincore * stress-memfd: fix typo "uffer" -> "buffer" * stress-mcontend: unmap data[0] if data[1] fails to allocate * stress-mcontend: fix data[0] mmap failure * stress-kill: kill pid with signal -1 to force -EINVAL error * stress-ng: remove line feed before ) * stress-zlib: add a lfsr32 zlib option to generate 2^32-1 unique values * stress-zero: make buffer 64 bit aligned and optimize zero check * stress-zombie: remove zombie child overheads to increase zombie loading * core-shim: add shim to nice() system call * stress-tsc: remove x86 only notes to tsc option * stress-tsc: add rdcycle support for RISC-V * stress-enosys: bump compiler version requirement * stress-enosys: add legacy int 0x80 method of calling system calls * stress-urandom: exercise an invalid ioctl to get more kernel coverage * stress-getrandom: move bogo-op counter to inner loop * stress-getrandom: exercise GRND_RANDOM and GRND_NONBLOCK * stress-zero: include a range of /dev/zero mmap'ing flags to exercise * stress-ioport: exercise /dev/port if it can be opened * stress-sysinval: add mmap_pgoff system call * stress-memcpy: remove __ prefix, rename with test_ instead * stress-wcstr: remove __ prefix, rename with test_ instead * stress-str: remove __ prefix, rename with test_ instead * core-mwc: rename __mwc to mwc, there is no need for __ prefix * stress-clock: 'randomize' delays to mix in more unpredictability * stress-madvise: constify variable sz * Makefile: clean up POSIX suffix rule warning * README: fix typo * stress-ng: add --max-fd soft limit on file descriptors * Add note about libattr. * stress-ng.h: define _LINUX_SYSINFO_H only when using gcc with non-glibc libc (such as musl) * stress-ng.h: suppress kernel sysinfo.h -- Colin King Fri, 10 Jul 2020 13:53:34 +0100 stress-ng (0.11.14-1) unstable; urgency=medium [Rob Colclaser III] * stress-membarrier: return EXIT_NOT_IMPLEMENTED ifi MEMBARRIER_CMD_SHARED is not set [Colin Ian King] * Makefile: bump version * Manual: update date * stress-ng: add translation of 2 missing exit types to string * stress-ng: prefix local functions with stress_ to avoid name clashing * stress-bigheap: add in missing new line between declaration and statement * stress-*, core-*: remove some extraneous spaces * tests/test-user-desc: memset u_info object to clear up cppcheck warning * tests/test-serial-struct: memset serial object to clear up cppcheck warning * stress-sockabuse: remove duplicated EPIPE error check * stress-pthread: voidify return in ret, clean up a cppcheck style warning * stress-hdd: clean up another cppcheck style warning: * stress-hdd: clean up cppcheck style warning * stress-fcntl: fix incorrect location of braces { } in #if defs * README: add notes on how to build with musl C library * stress-rawsock: ensure addr argument to recvfrom is struct sockaddr * * stress-ng: fix shim_loff_t type, it should be long * core-shim: use futex call if FUTEX_WAIT is defined * stress-ramfs: exercise new mount system calls if specific #defines are defined * stress-iomix: voidify fd to fix build warnings if it is not used * stress-efivar: only exercise FS_IOC_*FLAGS if they are defined * stress-sockpair: improve preemption points * stress-sockpair: ignore ENOTCONN error on shutdown * stress-access: voidify bad_fd to workaround build warning on Minix * stress-xattr: exercise fxattr* with bad fd * stress-sync-file: exercise sync_file_range with bad fd * stress-sockfd: exercise sockfd with bad fd * stress-seek: exercise lseek with bad fd * stress-lockf: remove empty line * stress-lockf: exercise lockf with bad fd * stress-klog: remove whitespace * stress-iosync: exercise fsyncfs with bad fd * stress-getdent: exercise getdent* with bad fd * stress-fstat: exercise fstat with bad fd * stress-file-flock: exercise flock with bad fd * stress-file-ioctl: exercise ioctl with bad fd * stress-fcntl: exercise fcntl with bad fd * stress-copy-file: remove extraneous space * stress-close: exercise close with bad fd * stress-chown: exercise fchown with bad fd * stress-fallocate: remove whitespace * stress-chmod: exercise fchmod* with bad fd * stress-fallocate: exercise fallocate with bad fd * stress-access: exercise faccessat* with an invalid dir fd * stress-epoll: exercise epoll_ctl and epoll_wait with bad fd * core-helper: use the stress_get_bad_fd helper * core-helper: add stress_get_bad_fd helper (part 2) * core-helper: add stress_get_bad_fd helper * stress-close: remove white space pollution * stress-ng: propagate EXIT_METRICS_UNTRUSTWORTHY to exit status * stress-sysinfo: get a file system label if FS_IOC_GETFSLABEL ioctl is available * stress-close: close random unopened fd to exercise EBADF * fast-test-all: make it really test *all* stressors * Add a light weight ADT regression test * stress-sock: fix build failure on some 32 bit arches -- Colin King Wed, 17 Jun 2020 14:18:22 +0100 stress-ng (0.11.13-1) unstable; urgency=medium [Arjan van de Ven] * Use "arch=skylake-avx512" instead of "avx512f" in the TARGET_CLONES list [Chunyu Hu] * core-sched: init shim_sched_attr with zero [Thadeu Lima de Souza Cascardo] * stress-sysinval: fix build failure on 32-bit systems * stress-sysbadaddr: fix build when HAVE_GETHOSTNAME is not defined * stress-enosys: add some missing syscalls * stress-enosys: negate errno * stress-enosys: prevent segfault when doing syscall_find * stress-rawudp: fix bind sockaddr [Colin Ian King] * Makefile: bump version * Makefile: add code of conduct text file to make dist rule * stress-sysinval: disable for GNU/HURD * tests/control: disable tests as these are causing testing issues, a better test mechanism is required (Closes: #962620) * stress-dup: force invalid dups by using large fd * stress-sysinval: fix a cut-n-paste error with delete_module * fast-test-all: add checks for all the missing exit status values * Add a new exit status EXIT_METRICS_UNTRUSTWORTHY * stress-ng: fix typo "read" -> "ready" * stress-chdir: exercise chdir to a directory that does not allow access * stress-sysinval: add MISC args allowing finer system call argument passing * stress-prctl: exercise prctl interface with some invalid arguments * stress-sysinval: double check run time timeout * stress-ng: rename "metrics check" to "metrics-check" * stress-*: make child processes call sched_settings_apply * core-sched: add new sched settings helper sched_settings_apply * stress-ng: check and set sched DEADLINE settings if SCHED_DEADLINE is defined * stress-sysinval: disable OS X builds as syscall() has been deprecated * stress-sysinval: prefix syscall_arg* with stress_ to avoid OS X name clashing * core-out-of-memory: use waitpid rather than the shim delay'd wait wrapper * stress-sysinval: remove linux only check; it builds now on all supported platforms * stress-sysinval: cast pointers to void * for madvise call * stress-sysinval: remove the xattr checks, they are not required * stress-sysinval: only build tests syscall.h syscall() is available * stress-vm-rw: fix up unexpected read size error message * stress-mq: don't report EINTR errors as fatal issues * stress-aio: silently ignore ENOSPC write failures * stress-enosys: force child to be killed and reap * stress-{iomix,fiemap}: fix copying of args struct * Add a code of conduct document * stress-stream: make short duration message clearer * kernel-coverage: run sysinval stressor for 3 minutes on all cpus * stress-sysinval: improve syscall timeout metrics * stress-sysinval: add run-time sanity check for zero system calls being detected * stress-sysinval: shuffle system call order 50% of the time * stress-sysinval: add illegal access mode flags * stress-netlink-task: clean up build warning on 32 builds with gcc 4.6.3 * stress-nelink-proc: clean up build warning on 32 builds with gcc 4.6.3 * stress-netlink-proc: remove space between macro and open parenthesis * stress-urandom: fix some grammar mistakes in comments * stress-sysinval: remove incorrect comment about size of structure * Manual: add Thadeu to the list of contributors * stress-access: add Linux 5.8 faccessat2 system call * stress-sysinval: make the syscall stats more descriptive * stress-sysinval: allo some read/stat actions on filenames * stress-sysinval: add ARG_PTR_WR - writeable destination arguments * stress-inval: use a valid file descriptor for ARG_FD * stress-sockpair: remove double oom detection, we're using the oomable API already * stress-sysinval: don't call sigreturn, this spams the kernel log * stress-sysinval: force child to be killed and reap * stress-sysinval: make syscall stats debug level * stress-sysinval: add some more missing system calls * stress-sock: save and report the correct errno status * stress-sock*: handle EPIPE gracefully * kernel-coverage: add swap to fast seq tests * Make sysinval stressor Linux only for now * stress-sysinval: use alternative system call naming * stress-sysinval: don't modulo by zero if reorder size is 0 * stress-sysinval: unmap page if mprotect PROT_NONE is not available * stress-stackmmap: only mprotect stack ends if mprotect is available * stress-sysinval: clean up some 32 bit build warnings * Add sysinval invalid system call stress test * Add autoconfig detection and workaround for daddr_t * syscalls: add process_madvise to syscalls -- Colin King Wed, 10 Jun 2020 23:55:23 +0100 stress-ng (0.11.12-1) unstable; urgency=medium * Makefile: bump minor version * Setup the checksum before forking off child stressor (LP: #1880840) - fixes null checksum if child is killed before the stressor function gets invoked. -- Colin King Wed, 27 May 2020 09:53:11 +0100 stress-ng (0.11.11-1) unstable; urgency=medium * Makefile: bump version * Makefile: remove config from make dist rule * stress-stackmmap: make ends of stack inaccessible to stop clobbering non-stack regions * stress-dev: disable TIOCGETD for the moment as it causes some hang issues * stress-context: always swap context back to main microthread on termination * stress-sock: voidify fd arg to clean up build warning on Solaris * Add run-time autoconfig check for struct ifconf * stress-sem-sysv: test illegal semtimedop only if it is exists * stress-sem-sysv: workaround kfreebsd8 EINVAL on semtimedop * stress-sem-sysv: don't use semtimedop if it returns -ENOSYS * stress-sem-sysv: only exercise SEM_STAT on linux * stress-ng: fetch yaml filename before running stress tests * Makefile: rm -f the makefile on clean * stress-ng: Don't track config or show in diff * Makefile: remove the need for an empty config file * stress-ng: fix long form if -x option, use "exclude" instead of "list" * stress-ng: README: update libsctp name for RHEL, fedora, related distros * stress-memthrash: silently ignore ESRCH pthread_join failures * stress-madvise: voidify pthread_join return, we don't care about it * stress-inode-flags: voidify pthread_join return, we don't care about it * stress-dev: voidify pthread_join return, we don't care about it * shim_waitpid: allow a few retries before throttling retry * kernel-coverage.sh: move the quick spin through stressors to the end of the test * Fix --seq mode checksum with multiple stressors and sanity checking * stress-vm: fix bit error checking when bogo-ops limits reached * core-ftrace: fix removed filename setting statement * core-ftrace: remove setting of set_event_pid and refactor code * core-out-of-memory: return EXIT_SUCCESS on --oomable option (LP: #1879782) * stress-get: fix #ifdef check on getpagesize * core-out-of-memory: return EXIT_NO_RESOUCE on --oomable option (LP: #1879696) * core-shim: add delay before re-waiting * stress-dev: add block device lseeks and force return to be stashed * Add memory barriers an ready flag to check if counter is in a sane state * core-shim: rework waitpid again, terminate child on EINTR (LP: #1879447) * stress-dev: remove sleep and return EXIT_SUCCESS on child exit * stress-ng: add checksum sanity check on bogo ops stats and run flag * stress-mq: add SIGEV_SIGNAL events to exercise kernel * stress-shm-sysv: exercise shmctl and shmdt race on child exit * stress-shm-sysv: exercise NUMA mempolicy on shm * stress-sem-sysv: exercise some invalid options to get more kernel coverage * stress-sock: add a few more ioctls to exercise * syscalls: update preadv/preadv2 and pwritev entries * stress-hdd: use preadv, preadv2, pwritev, pwritev2 -- Colin King Tue, 26 May 2020 15:46:23 +0100 stress-ng (0.11.10-1) unstable; urgency=medium * Makefile: bump minor version * Debian: remove compat, use debhelper-compat in Build-Depends * core-ftrace + manual: update caveat about ftrace stats * stress-pty: fix incorrect placing of #endif's * core-ftrace: warn when --ftrace is used on systems that don't support it * core-ftrace: voidify unused argument in stress_ftrace_add_pid * kernel-coverage: add ftrace and class exercising * core-ftrace: move OPT_FLAGS_FTRACE check to core-ftrace * core-ftrace: try to filter by parent and child process IDs * core-ftrace: add caveat about tracing stats captured * core-ftrace: fix some resource free'ing issues * stress-efi-var: optimize check for . files * stress-efivar: remove free of efi_dentries * stress-chdir: ensure all fd's and filenames are invalid before testing * Add --ftrace option to get some kernel function tracing metrics * stress-pty: exercise tcdrain, tcflush, tcflow and tcgetattr * stress-vm: use mwc64() for random numbers rather than random() * stresss-vdso: add missing line * stress-pipe: fix build failure on non-Linux platforms on pr_fail * Replace pr_fail_err with pr_fail to allow more flexible error messages * Remove pr_fail_dbg and replace with pr_fail * Remove pr_fail_args_errno and pr_fail_errno * core-helper: remove directory if an error occurs on mkdir -- Colin King Fri, 15 May 2020 14:10:41 +0100 stress-ng (0.11.09-1) unstable; urgency=medium * Makefile: bump version * stress-mmap: use a mmap_func_t prototype to simplify function pointers * stress-pidfd: reduce scope of buffer * stress-mmap: cast return from syscall to void * * stress-mmap: fix typo on off_t type name * syscalls.txt: update information on reboot system call * stress-xattr: add lremovexattr for more kernel coverage * stress-set: exercise setdomainname * syscalls: update mmap2 usage * stress-mmap: add --mmap-mmap2 to try to use mmap2 if it is available * syscalls: update riscv_flush_icache status * core-shim: remove flags, this was in an older API and I forgot to remove it * stress-pthread: add call to set_thread_area for x86 only * stress-pthread: add call to get_thread_area for x86 only * stress-icache: add RISC-V to the allowed arches that can run this stressor * core-shim: use system call to __NR_riscv_flush_icache * core-shim: add missing ; on risc-v flush * Rename shim_clear_cache to shim_flush_icache, add RISC-V support * stress-daemon: add shim wrapper for exit_group and call it on child exit * stress-pidfd: try to exercise pidfd_getfd if it exists * stress-pidfd: add pidfd_open shim and exercise it on opening pid fds * syscalls: add missing syscalls to syscalls list * stress-clock: exercise clock_adjtime by adjusting clock by zero seconds * syscalls: update io_cancel * stress-aio-linux: add aio_cancel and ignore failures * stress-zlib: optimize BCD conversion and extend range of source random value * stress-zlib: wrap some overly long function declarations * stress-rawpkt: use strlcpy instead of strcpy * stress-procfs: use strlcpy instead of strcpy * stress-access: fchmod should be S_IRUSR | S_IWUSR and not 0666 * stress-dev: add HPET_IRQFREQ ioctl * core-thrash: remove ptrace as this can cause lockups * stress-hdd: add medium write lifetime hint if it is available * stress-rawpkt: perform SIOCINQ every 256 packets and clean up code * stress-rawpkt: ensure mac address is being used for mac src and dst addresses * stress-rawpkg: exercise SIOCOUTQ and SIOCINQ ioctls * stress-physpage: report incorrect read sizes correctly * Revert "Add STRESS_RISC_V arch macro and don't yield on this arch" * Revert "core-shim: disable native nanosleep for risc-v" * stress-rawpkt: move stress-rawpkt_getsockopts to correct #ifdef section * stress-rawpkt: remove include * stress-rawsock: occasionally exercise SIOCINQ and SIOCOUTQ ioctls * Manual: remove trailing space * core-ignite-cpu: remove an empty line * core: constify some variables * stress-ng: constify some variables * core-perf: disable TLB perf metric * core-shim: simplify the waitpid logic * core-shim: break out of shim_wait on non EINTR error * stress-sock: remove empty line * stress-rawpkt: remove some white spaces * stress-rawpkt: add getsockopt relevant settings fetches * stress-rawudp: remove debug raw messages received counter * stress-rawudp: fix clang-10 pedantic warning on const addr * Add rawpkt stressor to exercise raw packet tx and rx over loopback device * stress-rawudp: close socket on error return * core-helper: add some optimization hints to stress_ip_checksum * stress-rawudp: re-organize code to remove repeated data structure setting * stress-rawudp: fix option help info, fix spelling mistake * stress-ng: set the stressor name as early as possible * Add rawudp stressor to exercise raw UDP packet tx and rx * core-cache: clean up gcc-10 -fanalyzer warning -- Colin King Thu, 7 May 2020 12:33:53 +0100 stress-ng (0.11.08-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-sysbaddaddr: reduce scope of variable ret * core-sched: print uint64_t using PRIu64 format specifiers * stress-sysbadaddr: don't abort if write/exec mappings can't be made * stress-sysbaddaddr: use shim'd memfd_create * stress-pkey: only use PKEY_DISABLE_WRITE if it is defined * stress-filename: add more yield point checks to abort faster * core-shim: don't retry EINTR on termination flag (LP:# 1874367) * core-shim: expand comments on the posix clock comments * core-sched: move declaration of prefix to avoid build warnings * stress-fanotify: reorder FAN masks to alphabetical order * core-shim: wrap the posix clock calls to use system call * stress-sysbadaddr: add memfd_create system call * stress-pkey: exercise an invalid pkey_free call * stress-sysbadaddr: add some more mapped page protection variations * stress-remap-file-pages: exercise invalid remappings * stress-mlock: use MCL_ONFAULT option correctly * stress-mincore: exercise pages that are known to be mapped and unmapped * helper: make stress_warn_once simpler to use and remove flags * stress-sockabuse: remove tabs from empty line * stress-sync-file: remove shadowed variable ret * stress-wait: skip over sanity check of returned zero pid * Fix more supported helpers that are missing new name parameter * stress-apparmor: supported helper that s missing new name parameter * stress-sockfd: make bind failure on EADDRINUSE a resource issue * stress-sockfd: use SO_REUSEADDR to avoid bind failures * Handle ENOSPC mkdir failures as a resource allocation termination * stress-ioprio: don't terminate if we run out of resources * stress-chdir: use mkdir_ok array to track mkdir paths that are OK * stress-mq: ignore timeouts on timed message sends * stress-sockabuse: don't make connect failures terminal * stress-chdir: don't abort all the temporary directories can't be setup * stress-link: silently ignore out of resource limit failures * stress-key: skip over some expected non-fatal errors that should not abort the stressor * stress-chdir: make ENOSPC on setup a resource failure termination * stress-key: silently ignore ENOKEY * stress-key: skip over some expected non-fatal errors that should not abort the stressor * core-shim: re-try on EINTR a little more if they keep on occurring * stress-sockfd: use incrementing ports per stressor * stress-sockabuse: ensure correct errno value is reported on a connect failure * stress-sync-file: don't fail on ENOSPC, instead retry * stress-seal: don't fail on EBUSY on a F_SEAL_WRITE add fcntl * stress-lease: don't fail on EAGAIN error from fcntl * stress-ioprio: don't terminate if we run out of resources * stress-dnotify: don't terminate if we run out of resources * stress-inotify: also ignore test file write failures on ENOSPC * stress-inotify: don't terminate if we run out of resources * stress-seek: handle ENOSPC errors on write * stress-fiemap: make ENOSPC on writes non-fatal * Add SIGABRT stressor. Exercise SIGABRT sending via raise() and abort() * stress-zero: fully check if data from /dev/zero is zero * stress-epoll: retry on low resources causing system call failures * Fix one more arch specific supported helpers that is missing the new name parameter * Fix some arch specific supported helpers that are missing new name parameter * Pass the name of the stressor into the supported() handler * core-sched: prefix all messages with "sched: " rather than nothing or __func__ names * core-sched: remove some capitalization * core-sched: add spacing in messages, make the dbg only * stress-close: don't assume max_delay_us is non-zero * xattr: add removexattr system call * stress-session: randomly select the wait call if wait4 is available * stress-ng: remove unused sched_deadline_init * syscalls: add wait3 and wait4 * stress-wait: use wait3 if it is available * Add wait3 system call detection and shim wrapper * Add P_PIDFD #define for older linux/wait.h that don't yet define it * core-shim: add new process_madvise() shim * stress-chmod: use strlcpy instead of strcpy as it's safer * stress-session: cast pid to int to print it portably * stress-chmod: make dfd open optional if O_DIRECTORY is not supported * stress-wait: add wait4 call if it is available * stress-session: use wait4 if it is available * stress-chmod: fix BSD EFTYPE error failure * stress-session: add stressor to set and get session ids * core-sched: fix build errors with missing stress_set_deadline_sched on GNU/HURD * core-sched: fix unused parameter and unused variable warnings * manual: update contributors information * manual: fix some missing .TP commands and minor spelling clean up * stress-ng: add sched-reclaim option for deadline scheduler * stress-ng: support sched deadline * core-shim: disable native nanosleep for risc-v * Add STRESS_RISC_V arch macro and don't yield on this arch * Makefile: ensure spaces are removed before perf macros * stress-urandom: add select and read on blockable opened /dev/random * Replace white space with tabs before statements * Rename helpers, remove __ suffix and prefixes * stress-procfs: clean up name shadowing by renaming ptr to bptr * Use stress_dirent_list_free to free dirent lists * core-helper: add stress_dirent_list_free helper * stress-sysfs: process non-directory files before handling directories * stress-procfs: process non-directory files before handling directories * stress-procfs: only format path when required * syscalls.txt: update recvmmsg to note it is being exercised by sock stressor * stress-fanotify: remove some white spaces and empty lines * stress-resources: open non-existent files to expand dcache false hits * syscalls.txt: Update, add faccessat, fchmodat and fchownat * stress-chmod: Add fchmodat check and add it to chmod testing * stress-clock: add CLOCK_TAI * stress-clone: add CLONE_NEWTIME * stress-procfs: exercise known buggy seek and read issues * stress-procfs: add process /proc exercising * stress-numa: cater for systems where numa system calls are not provided * stress-netlink-proc: cater for connection refused on writev * stress-fanotify: add more fanotify support sanity checks * stress-kcmp: treat ENOSYS as a non-fatal error return from kcmp * stress-reboot: remove some blank lines * test/test-pthread-attr-setstack.c: make stack static * stress-fanotify: add FAN_DIR_MODIFY -- Colin King Thu, 23 Apr 2020 19:44:12 +0100 stress-ng (0.11.07-1) unstable; urgency=medium * Address multiple issues found with pedantic static analysis (LP: #1870193) - enabled higher static analysis settings and found and fixed a lot of bugs.. * Makefile: bump version * Manual: fix lintian warning on undefined macro * stress-zlib: fix clang warning of array subscripted by char * core-helper: make end-of-string assignment easier to comprehend * stress-reboot: use heap for clone stack, cleans up static analysis warning * core-cache: clean up pedantic warnings from static analysis * stress-af-alg: fix several memory leaks * stress-tun: fix close issues on sfd * stress-xattr: be overly pedantic and memset array tmp * stress-urandom: fix fd leak on fd_rnd_wr * stress-sysbadaddr: fix incorrect 2nd parameter to utimes call * stress-sockmany: fix fd leak, close file descriptor on error * stress-sockabuse: ensure addrlen is set to the length of addr * stress-sockabuse: close fd even when it is zero * stress-sockabuse: avoid closing unopened fd on error * stress-sock: ensure socklen setting is set before calling getsockopt * stress-sigfd: voidify return of read, we don't care if it fails * stress-sigfd: fix open error check * stress-shm: use shim helper and ignore error return * stress-ramfs: fix close of a -ve file descriptor * stress-pipeherd: remove redundant variable n * stress-mq: don't check values[prio] if prio is out of range * stress-memhotplug: fix leak of opendir descriptor * stress-judy: check allocated pvalue is not-null * stress-eventfd: fix incorrect open failure check * stress-cpu: gcd: fix potential multiply overflow * stress-cpu: ensure i64 is stashed in stress_cpu_intconversion * stress-clock: be extra pedantic and set and check timer_id values * stress-chattr: handle open failure correctly * stress-binderfs: fix failure error return path * stress-af-alg: fix incorrect size of buffer to randomize * core-helper: don't call ttyname a second time, use name instead * core-helper: ensure data is null terminated * core-cache: nullify a free'd cpus pointer before returning * stress-cpu: add missing Apéry constant cpu method * stress-zlib: add missing morse code generated text -- Colin King Wed, 1 Apr 2020 18:23:41 +0100 stress-ng (0.11.06-1) unstable; urgency=medium * Makefile: bump version * stress-dev: remove TIOCGETC and TIOCSETC ioctl to fix FTBFS on alpha - this is the 2nd attempt to fix this issue, this time I'm removing the use these specific ioctl commands. -- Colin King Mon, 30 Mar 2020 09:46:35 +0100 stress-ng (0.11.05-1) unstable; urgency=medium * Makefile: bump version * stress-dev: define a shim for struct tchar, fixes a FTBFS on arch alpha -- Colin King Sun, 29 Mar 2020 17:34:14 +0100 stress-ng (0.11.04-1) unstable; urgency=medium * Makefile: bump version * stress-sockabuse: reduce scope of variable sfd * stress-reboot: reduce scope of another ret variable * stress-reboot: reduce scope of variable ret * stress-skiplist: make function skip_list_free static * stress-madvise: relax constness of buf pointer * stress-reboot: don't pass args to clone, it is not required * stress-reboot: remove shadowed variable ret * stress-sysbaddr: add guard on bad_getdomainname and comment out bad_acct * stress-sysbadaddr: disable acct for the moment. * stress-sysbadaddr: limit clone to just linux for the moment * stress-sysbadaddr: pass incremented addresses to avoid restrict warnings * stress-sysinfo: cast void * to the appropriate arg types on system calls * stress-reboot: add and use SHIM_CAP_SYS_BOOT * stress-reboot: move help so it's always built in * Add a reboot stressor. This does not actually reboot a system. * stress-sigfd: exercise the fd info of the signalfd * stress-fcntl: pass uids array to fcntl for F_GETOWNER_UIDS cmd * stress-sysbadaddr: remove create, it can leave broken files in directory * stress-sysbadaddr: add in more system calls * stress-procfs: remove ARM64 workaround as this is now fixed * README: update stressor stats * stress-xattr: don't fail to build if HAVE_LGETXATTR is not defined * stress-xattr: don't fail to build if HAVE_LSETXATTR is not defined * stress-xattr: don't fail to build if HAVE_LLISTXATTR is not defined * core-shim: fix typo on LLISTXATTR detection * Add shims to xattr system calls * stress-pipeherd: fix typo in switch rate info * stress-sockabuse: remove xattr from OS X builds * stress-dev: add TCOOFF, TCOON, TCIOFF, TCION ioctls * stress-dev: add TIOCGETC and TIOCSETC ioctls * stress-rtc: exercise RTC_SET_TIME, RTC_IRQP_SET and RTC_VL_READ ioctls * stress-ustat: silently ignore bad ustat buf * stress-sockabuse: don't memset timespec if we don't have HAVE_FUTIMENS * stress-sockabuse: silently ignore EADDRINUSE error when binding * stress-sockabuse: use different port for each instance * stress-sockabuse: use DEFAULT_SOCKABUSE_PORT as the default post * stress-ng.h: update a couple of socket port definitions * core-shim: cast shim'd ustat arg to void * * stress-sockabuse: localize variable n to FIONREAD ioctl code block * core-shim: fix missing ; on shim_enosys call * Add a skiplist stressor * Add socket file descriptor abusing stressor * stress-madvise: exercise madvise on mappings in threads where possible * stress-cpu: remove tab * syscalls.txt: remove stray ' char * Add a shim for deprecated system call ustat * stress-eventfd: exercise /proc/self/fdinfo on the eventfd descriptors * stress-chattr: fix build failure for non-Linux platforms * Add chattr file attribute stressor * stress-dentry: pressurize the dentry cache with negative dentries -- Colin King Sat, 28 Mar 2020 22:36:12 +0000 stress-ng (0.11.03-1) unstable; urgency=medium * Makefile: bump version * core-try-open: break up assignment and check into two statements * stress-softlockup: reduce scope of old_nice_val * stress-softlockup: remove redundant assignment to old_nice_val * stress-cpu: workaround a cppcheck warning * stress-cpu: replace pointer casting with union type * stress-cpu: exercise struct element u32 * stress-cpu: fix incorrect assignment * stress-cpu: fix type on assignment of i64 * stress-cpu: reduce scope of some integer variables in a for-loop * stress-cpu: reduce scope of variables in a for-loop * stress-binderfs: move declaration of variable i into #if block * stress-binderfs: move label close_control to clear up warning * stress-binderfs: reduce scope of ret and t2 variables * stress-netlink-task.c: ensure pointer is const * stress-pthread: add build time check for pthread_attr_setstack * stress-pthread: define PTHREAD_STACK_MIN if it is not defined * stress-mmapfork: make stress_memory_is_not_zero a conditional build * snapcraft: add base info and remove need for libxattr1 * Debian: control: remove need for libxattr1 (Closes: #953905) * stress-ng.h: add more comments * stress-mmapfork: add madvise MADV_WIPEONFORK sanity check * stress-dentry: exercise with utime setting * Add intconversion cpu stressor method * Fix _ARCH macros not being used because of bad rename * Add a floatconversion cpu stressor method * stress-cpu: add long double sqrt to the sqrt stress method * Remove trailing tabs, minor tidy up * Remove trailing spaces, minor tidy up * core-parse-opts: fix a cppcheck warning, cast values to long and use %ld * stress-enosys: add x86 syscall calls * stress-ng.h: clean up some overly long function prototypes * Rename all get_{int|uint}* helpers to stress_{int|uint}* * core-parse-opts: add stress_ prefix to ensure helper functions * core-affinity: add stress_ prefix to helper functions * core-parse-opts: add stress_ prefix before check_* helper functions * Rename set_max_limits to stress_set_max_limits * Rename log_system_mem_info to stress_log_system_mem_info * stress-sleep: remove alternative stack * stress-procfs: remove alternative stack * stress-memthrash: remove unused label 'die' * stress-sysfs: remove alternative stack * stress-memthrash: remove alternative stack * stress-membarrier: remove alternative stack * stress-mcontend: remove alternative stack * stress-inode-flags: remove alternative stack * stress-fstat: remove alternative stack * stress-pthread: mmap each pthread's stack and improve failure checking * stress-dev: remove alternative stack * stress-pthread: remove alternative stack * core-parse-opts: cast *ptr to int to avoid clang 3.4 warning * stress-madvise: add FreeBSD madvise options * stress-mmap: add some FreeBSD mmap options * core-shim: fix braino on pointer declaration * core-shim: add unconstify helper for mlock on older sun systems * Fix PRAGMA_* macros that are missing STRESS_ prefix * Macros: put all values in ( ) * Add STRESS_ to PRAGMA macros * Rename warn_once to stress_warn_once * Rename align_stack to stress_align_stack * stress-cpu: remove tabs to keep continutation markers aligned * Rename MWC_ macros to STRESS_MWC_ * Rename arch macros, add _ARCH to signify they are architecture specific settings * Add SHIM_ prefix to ICACHE and DCACHE macros * core-time: rename timeval_to_double to stress_timeval_to_double and un-inline it * core-setting: stress_ prefix before settings helper functions * put*: add stress_ prefix before put* helper functions * mwc: add stress_ prefix before mwc random number helper functions * jobs: add stress_ prefix before job helper functions * cache: add stress_ prefix before cache helper functions * Rename args_t to stress_args_t * Rename opt_set_func_t to stress_opt_set_func_t * Rename help_t to stress_help_t * Rename pthread_args_t to stress_pthread_args_t * Rename cpus_t to stress_cpus_t * Rename cpu_t to stress_cpu_t * Rename cpu_cache_t to stress_cpu_cache_t * Rename cache_t to stress_cache_t * Rename scale_t to stress_scale_t * Rename shared_t to stress_shared_t * Rename proc_stats_t to stress_proc_stats_t * Fix typedef / struct type warning on proc_info * Rename tz_stat_t to stress_tz_stat_t * Rename tz_info_t to stress_tz_info_t * Rename proc_info_t to stress_proc_info_t * Rename mwc_t to stress_mwc_t * Rename put_val_t to stress_put_val_t * Rename setting_t to stress_setting_t * Rename perf_stat_t to stress_perf_stat_t * Rename class_info_t and class_t * Rename type_id_t to stress_type_id_t to avoid future name clashes * stress-mmap: add two OpenBSD mmap options * voidify return from munmap() * Rename helper mfence to shim_mfence * Rename helper shim cflush to shim_cflush * stress-binderfs: fix typo in non-linux build * stress-binderfs: add binder file system stressor * stress-vecmath: use macros to simplify vector initialization -- Colin King Mon, 16 Mar 2020 16:40:22 +0000 stress-ng (0.11.02-1) unstable; urgency=medium * Makefile: bump version * core-parse-opts: cater for -ve values * core-parse-opts: check for non-numeric in numeric args (Closes: #940515) * Manual: update contributors names * Fix --random mode * Allow negative --random for selecting number of online CPUs * stress-prctl: add PR_SET_IO_FLUSHER PR_GET_IO_FLUSHER prctl commands * stress-mmapfork: check if parent is OOM'd and force exit on early abort * stress-mmapfork: force reap on interrupt waiting for pid * stress-mmapfork: ensure we kill and reap child processes * stress-mmapfork: reap when no more process slots are free * stress-mmap: add in more yield points -- Colin King Tue, 3 Mar 2020 14:50:44 +0000 stress-ng (0.11.01-1) unstable; urgency=medium * Makefile: bump version * Ensure --aggressive mode terminates early (LP: #1858858) * stress-ptrace: also check for EACESS errors * stress-ptrace: add one more EPERM check * stress-ptrace: make EPERM non-fatal error, modify pr_info messages * snapcraft: add system-trace, hardware-random-observe interfaces * stress-ptrace: terminate in with failure if child cannot be ptraced -- Colin King Mon, 24 Feb 2020 10:48:23 +0000 stress-ng (0.11.00-1) unstable; urgency=medium * Makefile: bump version and change codename * stress-pipeherd: make sure child terminates with _exit() * kernel-coverage: add timer-slack timer setting * Fix --timer-slack correctly, fetch argument and set it * core-parse-opts: sanity check uint32 and int32 min/max values * Add environment stressor * Make several const objects static * stress-pidfd: voidify return from pause system call * stress-get: add missing check_do_run exit points after new get* system calls * stress-get: exercise a few more get* system calls * stress-pipeherd: add context switch stats * Add pipeherd stressor: a stress to simulate a thundering herd of pipe wakeups -- Colin King Wed, 12 Feb 2020 14:19:41 +0000 stress-ng (0.10.19-1) unstable; urgency=medium * Makefile: bump version * stress-mmapaddr: make stress_mmapaddr_child static * stress-wait: remove duplicated pr_fail message and cast pid_t to long int * stress-memrate: rename NANOSEC to STRESS_NANOSEC to avoid clashing * stress-cyclic: avoid NANOSEC* name classhes, rename to STRESS_NANOSEC * Fix the MAX_FILE_LIMIT shift, use 1ULL instead of 1UL * stress-sockfd: attempt to read from the fd passed over the socket * stress-fork: fix time_now calls to stress_time_now * stress-clone: move a #if defined that got moved to the wrong place * set maximum file size based on off_t size * set maximum memory limit to MAX_48 and maximized limits to MAX_32 * core-sched: prefix typedefs with stress_ * core-perf: prefix typedefs with stress_ * core-net: prefix typedefs with stress_ * core-ignite-cpu: prefix typedefs with stress_ * core-cache: prefix typedefs with stress_ * core-cache: prefix typedefs with stress_ * stress-*: prefix typedefs with stress_ * stress-pty: allocate the pty structure on the heap, don't use the stack * stress-stackmmap: ensure random data is pushed onto the stack * stress-stack: fill pages with non-zero content to avoid same-page merges * stress-spawn: fix up a comment * stress-wait: add waitid siginfo sanity checks * stress-wait: fix WIFCONTINUED check because of a typo in the check * core-helper: map signal number to signal name * core-shim: fix renaming of time_now to stress_time_now * core-helper: voidify arg fd in stress_is_dev_tty * stress-x86syscall: move scope of variable j * stress-vdso: measure test overhead to compute more accurate results * stress-x86syscall: measure test overhead to compute more accurate results * core-time: prefix helper functions with stress_ * core-thrash: prefix helper functions with stress_ * core-thermal-zone: prefix helper functions with stress_ * core-perf: prefix perf helper functions with stress_ * core-mount: add stress_ to mount helper functions * Add stress_ to mmap_set and mmap_check helper functions * Prefix mincore helper functions with stress_ * Rename madvise_random to stress_madvise_random * stress-zlib: scale the logmap value to produce harder to compress data * stress-zlib: add chaotic number generator using a logmap method * replace g_keep_stressing_flag with two helper functions * stress-memthrash: add byte swapping memory stepping thrasher * stress-sysfs: add bad sysfs files to hash table * Makefile: remove need to define __FreeBSD_Kernel__ * Add more stress_ prefixes to various core functions * core-ignite-cpu: prefix ignite_* functions with stress_ * core-cpu: rename cpu_is_x86 to stress_cpu_is_x86 * core-hash: remove need for str pointer * core-hash: optimize hash adding, reduce need for strdup and a free * stress-zombie: make max zombies a 32 bit * stress-clone: make max clones a 32 bit * stress-chdir: cleanup the chdir(cwd) loop * stress-memrate: clean up continuation lines * Rename set_oom_adjustment -> stress_set_oom_adjustment * Add stress_oomable_child helper to catch and restart OOM'd child processes * stress-chdir: use flags rather than #ifdef around the open call * core-hash: move various string hashing functions to core-hash -- Colin King Fri, 7 Feb 2020 14:37:11 +0000 stress-ng (0.10.18-1) unstable; urgency=medium * Makefile: bump version * stress-urandom: handle ENOTTY errors on ioctl() on older kernels -- Colin King Wed, 29 Jan 2020 14:09:22 +0000 stress-ng (0.10.17-1) unstable; urgency=medium * Makefile: bump version * stress-clock: reduce scope of variable ret * stress-shm: free addrs and shm_names on error * stress-shm: only use SA_NOCLDWAIT if it is available * stress-exec: clean up warning on gcc 4.8.5 * stress-exec: define err label only if required * Add core-try-open helper to check if a file can be opened without blocking * stress-exec: remove shadowed variables ret and rc * Add string hash helper to core, use this for device and scsi hashing * stress-dev: move handler to fix build warning * stress-dev: fix equality checks and incorrect stress_dev_tty_open call * stress-dev: add blocked device open sanity check * stress-cpu: add lowest common multiple sanity check on gcd computation * stress-clock: exercise clock_getres on a /dev/ptp0 clockid * stress-clock: exercise /dev/ptp0 on linux * kernel-coverage.sh: allow perf to run when non-root * stress-tmpfs: add MAP_HUGETLB mmap option and reduce sleep time * stress-mmap: remove duplicated no_mem_retries increment * stress-membarrier: exercise more membarrier commands * stress-fcntl: exercise F_SETOWN, F_SETOWN_EX and F_GETOWN_EX more * stress-exec: create and try to execute a garbage executable * stress-stream: fix failure message logging * stress-shm: add some more shm exercising on shm fd * stress-ramfs: rename mount point directory to mnt * stress-af-alg: add helpers to lookup hash types by name or type * stress-af-alg: remove ptr + 2 occurrences * stress-msg: exercise MSG_COPY if it is available * stress-aio-linux: ignore EINVAL on io submits for fdsync or fsync commands * stress-brk: silently ignore brk on a specific address failures * stress-sysfs: disable ROM test as this is causing some issues * stress-mq: use 0..127 priority levels chosen at random * stress-quota: add CAP_SYS_ADMIN prechecks before running the stressor * stress-sysfs: skip over /sysfs kernel debug interfaces -- Colin King Tue, 28 Jan 2020 16:00:02 +0000 stress-ng (0.10.16-1) unstable; urgency=medium * Makefile: bump version * Update copyright year to 2020 * Manual: update date * stress-bad-altstack: clean up clang pedantic build warning on variable shadowing * stress-aio-linux: use %zu for size_t instead of %zd * stress-mq: simplify file open and null check for static analysis tools * stress-aio-linux: use correct %zd print format specifier for size_t * stress-bad-altstack: move SIGSEGV handler to child * stress-bad-altstack: ensure we set the mmap'd alternative stack * stress-bad-altstack: aggressively re-try when we can't segfault the handler * stress-aio-linux: perform periodic async fdsync and fsync and use lots of open files * stress-aio-linux: add async reads and allocate buffers * stress-dev: Add TIOCMBIS and TIOCMBIC ioctls * stress-dev: add TIOCNXCL and TIOCEXCL ioctls * stress-dev: add a couple more tty specific ioctls * stress-aio: fix sleepy wait to make it interruptible * Manual: move the --set and --set-ops to the correct place * stress-sysfs: remove commented out debug * stress-sysfs: improve timeout on slow sysfs entries, get more coverage * stress-ramfs: create/lstat/remove symlink file on ramfs filesystem -- Colin King Fri, 10 Jan 2020 17:15:13 +0000 stress-ng (0.10.15-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-cyclic: only declare label redo_policy for SCHED_DEADLINE * stress-cyclic: don't perform E2BIG error check if SCHED_DEADLINE is not available * stress-cyclic: print out cyclic policy name using correct index * stress-cyclic: remove space before == operator * stress-cyclic: update to new policy if E2BIG occurs * stress-cyclic: handle differences in sched_attr sizes * stress-sock: ensure pointer recvfunc is ininitialized * stress-vm-segv: avoid void * pointer arithmetic, it is not portable * stress-sysbadaddr: avoid void * pointer arithmetic, it is not portable * stress-memthrash: fix up another void * math portability issue * stress-memthrash: avoid void * pointer arithmetic, it is not portable * stress-madvise: avoid void * pointer arithmetic, it is not portable * stress-clone: make rnd a uint32_t so 31 bit left shift is portable * stress-rds: remove prototype stressor * stress-ramfs: remove unnecessary initialisation of pid * stress-exec: move variable ret into section that requires it * stress-urandom: ignore -EINVAL errors on non-existent ioctls * stress-ramfs: ensure path does not overflow in snprintf * stress-urandom: fix build warning on non-Linux platforms * stress-urandom: only write to /dev/urandom on Linux * stress-mmap: fix missing stressor name in pr_inf messages * stress-mmap: clean up build warning on systems that won't retry * stress-eventfd: fix build issue with systems that don't support eventfd * stress-mmap: add MAP_{EXECUTABLE|UNINITIALIZED|DENYWRITE} flags * stress-mmap: use MAP_NORESERVE as we have a SIGSEGV handler * stress-dev: add some pre-checks before assuming dev is a tty * stress-mmap: add MAP_HUGETLB mmap flag * stress-dev: add more tty ioctls * stress-tun: add TUNGETDEVNETNS ioctl * stress-tun: add various tun related *SET* ioctls * stress-tun: add TUNGETVNET* ioctls * stress-tun: add TUNGETSNDBUF ioctl * stress-tun: add TUNGETVNETHDRSZ ioctl * stress-tun: add SIOCGIFHWADDR ioctl * stress-tun: add TUNSETNOCSUM ioctl * stress-xattr: add llistxattr system call * stress-procfs: add fstat operation on proc file and exercise namespace files * stress-procfs: handle DT_LNK symlinks like regular files * stress-fcntl: F_SETLKW at SEEK_END and SEEK_CUR file positions * kernel-coverage: add a couple more coverage options * stress-exec: add random 1 in 4 chance exec'ing from inside a pthread * stress-eventfd: add non-blocking option --eventfd-nonblock * stress-tun: disable tun/tap device info * stress-tun: add tap support with --tun-tap option * stress-ramfs: add some file/directory activity on ramfs * stress-iomix: silently ignore -EPERM write failures * stress-ramfs: alternate between ramfs and tmpfs memory based filesystems * kernel-coverage: add mmap odirect and osync options * stress-mmap: add --mmap-odirect and --map-osync file options * stress-swap: add random use of SWAP_FLAG_DISCARD if available * kernel-coverage: Add more options to get more kernel coverage * Manual: remove trailing space * stress-run: make bind EADDRINUSE not fatal * stress-tun: Add network tunnelling stressor using the TUN/TAP interface * stress-urandom: use SHIM_CAP_SYS_ADMIN instead of CAP_SYS_ADMIN * kernel-coverage: add --all option * stress-prctl: add 4 more prctl commands to exercise * stress-sem-sysv: add SETALL semctl * stress-fanotify: add more fanotify events, remove exec stats * stress-urandom: move next label to avoid skipping some more stress points * stress-urandom: exercise lseek and write on /dev/random * stress-urandom: add more ioctl calls to exercise kernel coverage * stress-loop: add xor and none crypto on loopback * stress-loop: exercise the LOOP_SET_BLOCK_SIZE ioctl -- Colin King Tue, 31 Dec 2019 01:37:31 +0000 stress-ng (0.10.14-1) unstable; urgency=medium * Makefile: bump version * stress-chdir: fix opening of paths[i] * stress-vecmath: don't use TARGET_CLONES on ppc64, it breaks some older compilers * stress-hrtimes: handle fork resource failures more gracefully. * stress-chdir: mix random value and grey code of nth file * stress-chdir: make paths more random and chdir to / for more stress * stress-wait: clean up a comment * stress-sem: add sem_getvalue call to increase coverage * stress-sem: add sem_timedwait to increase test coverage * sigprocmask: fix missing sigprogmask and add sigtimedwait * core-cache: remove / from cache path -- Colin King Mon, 16 Dec 2019 21:22:23 +0000 stress-ng (0.10.13-1) unstable; urgency=medium * Makefile: bump version * stress-dev: add TIOCMGET, TIOCGICOUNT and TIOCGSERIAL ioctls * stress-close: add more open types, don't chown files if root, remove AF_APPLETALK * stress-close: enable some more socket domains * test: add test-setproctitle.c, forgot to add this earlier * Where possible set the process title (argv[0]) * Change cache size information from info to debug level output * stress-ng: add missing space between switch statement and ( * Add SIGILL to signals that need to be handled, it was missing * stress-rdrand: fix typo in \n at end of info message * stress-sock: fix build issues on systems without HAVE_RECVMMSG * stress-sock: get the incoming CPU of the socket * stress-sock: get MTU size and set TOS to IPTOS_THROUGHPUT * kernel-coverage.sh: add random sock-opts flag * stress-sock: also exercice recvmmsg and recvmsg * stress-sock: remove debug * stress-sock: add a random send option for --sock-opt * core-mwc: fix mwc8() being reset when using mwc1() * stress-schedpolicy: silently ignore EBUSY returns (LP: #1853944) -- Colin King Mon, 9 Dec 2019 12:37:21 +0000 stress-ng (0.10.12-1) unstable; urgency=medium * Manual: update date * stress-sem-sysv: fix GETALL arg, it should not be pass by reference * stress-clock: fix segfault when timer_create fails * kernel-coverage.sh: add more hdd specific advice hints * stress-revio: fix fadv-seq option, it is currently disabled * stress-hdd: fix fadv-seq option, it is currently disabled * stress-sem-sysv: remove trailing whitespace * stress-udp: exercise SIOCOUTQ and SIOCINQ ioctls * stress-sock: exercise SIOCOUTQ and SIOCINQ ioctls * stress-udp-flood: add SIOCOUTQ ioctl * Include linux/sockios.h include if is available * stress-shm: add lseek to exercise shm * stress-sem-sysv: exercise GETALL semctl command * stress-sem-sysv: fix typo GEZCNT -> GETZCNT * stress-sysfs: add poll to sysfs exercising * stress-sysfs: add some more file specific operations on /sysfs files * stress-clock: don't wait for timer completions, makes test more aggressive * stress-madvise: add MADV_COLD and MADV_PAGEOUT advice flags * stress-msg: add random MSG_STAT_ANY msgctl call * stress-msg: check struct msginfo is available with HAVE_MSGINFO * kernel-coverage.sh: remove unix socket domain from udp stressor * stress-rdrand: increase rdrand read rate by adding inner loop * Manual: add clone3() to --clone description * core-shim: remove debug * stress-clone: convert NULL to a uint64_t for tls clone argument * stress-clone: exercise clone3() if it is available * stress-clone: add linux 5.5 CLONE_CLEAR_SIGHAND flag * stress-rdrand: remove rdrand32 * stress-rdrand: add support for Power9 darn instruction * stress-tsc: add time stamp counter support for ppc64 * stress-sockmany: clean up build warnings on openindiana * stress-stack: make altstack a void pointer, cleans up build warning * Fix --timer-slack from consuming the following arg (LP: #1853832) * stress-ng: add ppc64el target clones for power9 and generic * stress-fp-error: clean up error warning on non-standard fegetround prototypes * stress-memthrash: constify size arguments * stress-ipsec-mb: remove debug disabling of the stressor for x86 * stress-ipsec-mb: Add --ipsec-mb-feature option -- Colin King Wed, 27 Nov 2019 19:38:23 +0000 stress-ng (0.10.11-1) unstable; urgency=medium * Makefile: update version * Manual: update date * stress-dev: remove NetBSD mixup_sort variant, NetBSD 8.0 is now compliant * stress-schedpolicy: fix build warnings on BSD systems * Rename stress-socketmany to stress-sockmany to match the stressor name * Rename stress-socketpair to stress-sockpair to match the stressor name * Rename stress-socket-diag to stress-sockdiag to match the stressor name * Rename stress-socket-fd to stress-sockfd to match the stressor name * stress-sock: rename functions with sctp in name to sock * Rename sock stressor stress-socket.c to stress-sock.c * Add sockmany stressor to exercise many open socket connections * stress-dev: add initial /dev/ptp device exercising code * stress-schedpolicy: add SCHED_DEADLINE scheduling * stress-softlockup: force lowest niceness to be less nice * stress-softlockup: clean up a comment * kernel-coverage.sh: Add some more corner case stressors * stress-shm-sysv: silently ignore EINVAL when deleting shared memory * manual: add default number of system V shared memory segments * README: update number of stressors * stress-zero: add lseeks as these are allowed on /dev/zero * stress-zombie: don't give up when we hit out of memory * stress-schedpolicy: exercise sched_util_max if it is usable * stress-cache: add --cpu-sfence sfence instruction support (x86 only) * stress-af-alg: fix typo: rd -> rc * stress-af-alf: fix stack clobbering issue on arm64/armhf * stress-af-alg: report send/sendmsg EINVAL errors as debug, ignore for next time * stress-af-alg: add a preemption point on each crypto iteration -- Colin King Wed, 20 Nov 2019 16:24:11 +0000 stress-ng (0.10.10-1) unstable; urgency=medium * Makefile: bump version * stress-ipsec-mb: rename IPSEC to IPSec * stress-ipsec-mb: add helper function to get and memset the next job * stress-ipsec-mb: increment jobs count in stress_job_check_status * stress-ipsec-mb: check that jobs are complete as soon as possible * stress-funcret: rename counter ii to i * README: Fix typo in requests * README: Add contributing information -- Colin King Fri, 8 Nov 2019 13:44:15 +0000 stress-ng (0.10.09-1) unstable; urgency=medium * Makefile: bump version * Makefile: add stress-af-alg-defconfigs.h to the dist rule * stress-af-alg: make buffers static, reduces stack overhead * stress-af-alg: add opt_set_funcs helper for non-linux builds * Manual: update contributors and date * stress-af-alg: some minor code cleanups, no functional change * stress-af-alg: handle bind() ETIMEDOUT failures * stress-af-alg: add default configs to complement /proc/crypto list * stress-af-alg: add defconfigs with --af-alg-dump * stress-af-alg: introduce the --af-alg-dump option * stress-af-alg: skip 'internal' crypto algorithms * stress-af-alg: fix close(fd) to avoid bind() EBUSY * stress-af-alg: use 'aead' salg_type for CRYPTO_AEAD on bind() * stress-af-alg: fix sockaddr algorithm type on bind() * stress-stack: setup alternative stack in child only (LP: #1851316) * stress-stack: check for ENOMEM fork failure and retry * stress-stack: don't throw a fatal error when sigaltstack fails * stress-stack: return error code in child using _exit() and not return * core-madvise: Add 5.4 MADV_COLD and MADV_PAGEOUT hints * stress-prctl: add PR_GET_SPECULATION_CTRL exerciser * Manual: update af-alg description * Make a couple of const strings static * stress-af-alg: fix build errors on undefined macros * stress-af-alg: add aead support * stress-af-alg: remove some debugging messages * stress-af-alg: remove old unused crypto structures * stress-af-alg: only add crypto algorithms that are supported by the stressor * stress-af-alg: use crypto algorithm data from /proc/crypto * stress-clone: Add CLONE_NEWCGROUP * stress-daemon: add expanding backoff timeout * stress-daemon: keep retrying fork if we don't have enough resources * stress-daemon: add minor backoff before fork retry (LP: #1849595) * stress-vm: print stressor name using args->name rather than literal string * stress-readahead: print stressor name in failure message * stress-matrix-3d: use pr_fail for short error failure messages * stress-matrix-3d: use pr_fail_err for short error failure messages * stress-iomix: fix one more pr_fail message * stress-iomix: use pr_fail_err for short error failure messages -- Colin King Wed, 6 Nov 2019 01:03:05 +0000 stress-ng (0.10.08-1) unstable; urgency=medium * Makefile: bump version * README: Add SuSE package information * stress-x86syscall: use cpuid if it is available * README: Add Judy development library packages * Remove redundant stress-ng snapcraft makefile * stress-judy: Add Judy array stressor * Add memory hotplug stressor * stress-sendfile: add missing line after variable declaration * stress-dev: add some more linux keyboard ioctls to exercise * stress-tree: fix error messages when nodes are not found * stress-swap: detect for EINVAL errors on swapon * stress-filename: don't use chars in filename that throw EILSEQ errors * stress-fiemap: detect if file system can support FIEMAP ioctls * stress-zlib: make some char * pointers non-clobberable by longjmp * stress-urandom: add mmap'ing to /dev/urandom for more exercising * stress-zlib: use text_start and text_end based on stress-zlib object code * Add x86syscall vsyscall stressor * stress-tsc: fix info message when tsc is not supported -- Colin King Mon, 21 Oct 2019 11:47:22 +0100 stress-ng (0.10.07-1) unstable; urgency=medium * Makefile: bump version * Remove smatchify script, we now use other tools to static analyse stress-ng * core-helper: add sanity check if ttyname returns NULL to avoid null pointer dereferencing * stress-fp-error: fix checks for NaN and Inf (LP: #1846216) * Don't show utf8 chars on dump consoles (LP: #1846196) * stress-clone: make child process larger to make it more OOM-able (LP: #1845948) * core-out-of-memory: open and close proc interface after each write * Add autobuild detection of getsid() for better portability * stress-ng.h: only use x86 target clones for x86 arches * stress-rdrand: unroll loop x 4 more times for more throughput * inline the __keep_stressing function, reduce call overhead for more throughput * stress-stack: make alternative signal stack privately mapped (LP: #1845464) -- Colin King Tue, 1 Oct 2019 16:39:52 +0100 stress-ng (0.10.06-1) unstable; urgency=medium * Makefile: bump version * stress-mcontend: ensure mmap'd file is sync'd with zero data (LP: #1845011) * stress-rmap: don't make fallocate failures a rmap test failure (LP: #1845005) * stress-shm: fork and exit a child to exercise shm dup and removal * stress-ng: fix jobfile with classes (LP: #1706970) * stress-procfs: don't randomly read pci proc info on ARM64 * stress-procfs: remove bad buffer test, it's not portable * stress-sysfs: rename MAX_READ_THREADS to MAX_SYSFS_THREADS * stress-sysfs: remove bad address reads, these fault on ARM64 * stress-procfs: rename MAX_READ_THREADS to MAX_PROCFS_THREADS * stress-inode-flags: move open/close to controlling process * stress-sig: fix spelling mistake "siqqueue" -> "sigqueue" -- Colin King Mon, 23 Sep 2019 17:40:21 +0100 stress-ng (0.10.05-1) unstable; urgency=medium * Makefile: bump version * core-shim: fix typo in shim_move_mount * core-shim: use shim_enosys for more ENOSYS returns * Clean up shims for syslog(2) and syslog(3) * stress-ramfs: remove it from the filesystem test * stress-dirdeep: make inodes info into a debug message * Remove trailing tab from ends of lines * Remove trailing white space after statements * stress-vm: fix verification failure with gray code method * stress-socket: make EPIPE a non-fatal error condition * stress-udp: use correct default UDP port 7000 * stress-ng: rescan the exclusion list for --class stressors * core-shim: reset errno before each waitpid call * stress-socket: handle SIGPIPE as non-fatal * stress-physpage: don't abort on zero address physpage * Use HTTPS URL for kernel.ubuntu.com -- Colin King Thu, 12 Sep 2019 15:26:22 +0100 stress-ng (0.10.04-1) unstable; urgency=medium * Makefile: bump version * Remove execute bit on bash completion script * debian: rules: workaround dwz failures on arm64 -- Colin King Mon, 2 Sep 2019 18:43:41 +0100 stress-ng (0.10.03-1) unstable; urgency=medium * Makefile: bump version * core-cache: add checks for null strings * stress-cpu: fix build time checks for __cpuid() * Debian: update compat to level 12 * Manual: update date * stress-cpu: add a collatz sequence stressor * stress-dev: temporarily disable hpet test * stress-stack: use memory backed mmap'd alternative stack * stress-inode-flags: detect failures in pthread and propagate these back to parent (LP: #1841900) * Add a pthread return pointer to pthread args * stress-numa: move assignment to *node_ptr * core-helper: voidify return of fprintf * core-cache: voidify return of snprintf * stress-ramfs: voidify return of snprintf * stress-ng: voidify return of fprintf and fflush * core-job: voidify return of fprintf * core-sched: voidify return of fprintf * stress-get: voidify memset return * stress-seccomp: vodify memset return * stress-bind-mount: remove ` char in comment * stress-apparmor: remove redundant sizeof char * Add new 5.3 sched_attr fields, fixes EFBIG on sched_{get|set}attr * core-helper: don't call sched_getcpu on s390x -- Colin King Mon, 2 Sep 2019 14:23:22 +0100 stress-ng (0.10.02-1) unstable; urgency=medium * Makefile: bump version * stress-pthread: protect counter with spinlock not mutex lock * Manual: update date * stress-pthread: don't block forever on pthread_cond_wait() (LP: #1840867) * stress-pty: remove some white spaces in source * core-cache: ensure read buffer has trailing '\0' * core-cache: update comments * core-cache: use a fixed size buffer for reading in /sys info * stress-cpu: remove a debugging message * stress-pty: don't report a failure on EINTR (LP: #1840512) * stress-cpu: add an x86 cpuid instruction exerciser * stress-cpu: add a 64 bit division stressor * snapcraft: add automatic versioning * snapcraft: bump version * stress-pthread: don't tkill pthreads, can lead to futex blocking -- Colin King Wed, 21 Aug 2019 10:00:01 +0100 stress-ng (0.10.01-1) unstable; urgency=medium * Upload as source package (Closes: #934007) * Makefile: bump version * stress-cache: replace globbing with scandir, clean up pathnames * stress-sysfs: remove filename, it is now redundant * stress-sctp: voidify unused return * stress-mcontend: break multistatment lines * stress-sysfs: copy to sysfs_path rather than using sysfs_path as a pointer * stress-procfs: disable read to read-only buffer * stress-procs: fix incorrect strlcpy size * stress-procfs: don't use large filenames on small pthread stacks * stress-sysfs: remove redundant readlink * core-shim: voidify unused args in new mount shim helpers * bash-completion: remove the shebang at the start * stress-ramfs: fix umounting races * Move the "random" option in correct alphabetical order * Move new mount system call shims to core-shim.c * stress-ramfs: remove pathological setting * stress-ramfs: add capability check before running * Add ramfs stressor, this also exercises the new mount system calls * Add brk emulation for systems that don't support brk() * stress-clone: add CLONE_PIDFD (new with Linux 5.2) * stress-cpu: remove blank lines * stress-cpu: warn if CPU affinity may have been set * stress-vforkmany: fix build error * stress-vforkmany: wrap vfork syscall and put pragmas around it * stress-fork: move pragmas to outside the stress_vfork function * stress-opcode: fix missing space and remove redundant parentheses * stress-memrate: handle memory sizes < 1MB -- Colin King Sat, 10 Aug 2019 19:48:23 +0100 stress-ng (0.10.00-1) unstable; urgency=medium * Makefile: bump version, change code name * stress-fault: remove redundant variable offset * stress-netlink-task: remove redundant initialization of id * stress-pthread: abort if mutex lock is unlockable * stress-cpu: use CLOCK_PROCESS_CPUTIME_ID to measure CPU consumed * stress-cpu: clean up cpu load variables * stress-cpu: fix CPU loading calculation * stress-dev: move ret and buffer to lower scope * core_shim: Remove caddr casts for __sun__ * stress-mergesort: workaround heap corruption on OpenBSD with setjmp/longjmp * core-helper: keeping on ringing SIGALRM until stressors get the message * stress-memthrash: make stressors more yielding * Enable FORMAT macro (__attribute__ format) for clang * Add Tiny C compiler notes in README * stress-fork: add vfork timeout for OS X to workaround SIGARLM issues * stress-fork: do explicit keep_stressing() call rather than simple flag check * stress-pthread: use stress_sigalrm_pending helper and make set non-static * stress-fork: block SIGALRM and check for pending SIGALRMs * Add stress_sigalrm_pending and stress_sigalrm_block helpers * stress-fork: make fork_max a uint32_t and optimize wait and error check loops * Only use openlog/closelog if we have HAVE_SYSLOG_H defined * core-sched: fix build error on some BSD systems * stress-brk: exercise zero expansion of brk * stress-efivar: exercise efi variable interfaces a little more * core-out-of-memory: refactor code, add a set adjustment helper * core-sched: put sched types into a lookup table * stress-socket: remove debug * stress-dev: exercise /dev/nvram * stress-dev: try lseek and read on /dev/mem on x86 * stress-socket: exercise IP_MTU if it is available * stress-sctp: use setsockopt for more socket option exercising * stress-sctp: remove some debugging info * stress-sctp: add some sctp related getsockopt calls * stress-fcntl: don't make EPERM a fatal test failure * stress-chroot: don't make EPERM a fatal test failure * stress-fault: fix warnings on open indiania with gcc-8 -- Colin King Mon, 8 Jul 2019 20:14:21 +0100 stress-ng (0.09.60-0ubuntu1) unstable; urgency=medium * Makefile: bump version * Makefile: add kernel-coverage.sh to make dist rule * Manual: add capabilities requirements and missing idle-page notes * stress-cpu: make val an auto variable, we can't take address of a register * stress-pidfd: reduce scope of variable pid * stress-netlink-task: reduce scope of variable len * stress-utime: move if statement into a #if'def block * stress-softlock: replace spaces with tab in indentation * stress-softlockup: remove a duplicated return statement * stress-resources: move a keep stressing check inside a #if'def block * stress-lockbus: fix build warning on label "done" for non-x86 arches * stress-lockofd: rename dirname to pathname * stress-ng.h: rename a couple of function args to stop name clashing * core-shim: ensure mlock addresses are const arguments * stress-lockf: declare opt_set_funcs for all builds * core-shim: rename dirfd to dir_fd * stress-timerfd: rename exp to expval * stress-memrate: rename remainder to dur_remainder * stress-lockf: rename dirname to pathname * stress-locka: rename dirname to pathname * stress-inotify: rename dirname to pathname * stress-hdd: rename remainder to size_remainder * stress-filename: rename dirname to pathname * stress-fcntl: rename dirname to pathname * stress-fanotify: rename dirname to pathname * stress-dnotify: rename dirname to pathname * stress-chown: rename dirname to pathname * stress-dir: rename dirname to pathname * stress-chmod: rename dirname to pathname * stress-opcode: remove .set_default and add .opt_set_funcs for GNU/Hurd builds * stress-opcode: fix build warning on GNU/Hurd * stress-enosys: fix build warning when array size is zero * stress-rawsock: remove shadowed rc declaration * stress-rawsock: remove redundant __packed__ attribute * stress-netlink-task: fix const build warning * Add kernel coverage test bash script * stress-netlink-task: voidify a few function returns and remove a whitespace * stress-lockbus: add a page boundary split lock * stress-tmpfs: add parentheses around magic number * stress-sctp: limit to ipv4 and ipv6 domains * stress-udp: limit to ipv4 and ipv6 domains * bash-completion: add vm-madvise completion * bash-completion: add --stream-madvise completion * Manual: fix up cyclic-method options * stress-netlink-task: remove unused assignment to na->nla_len * core-perf: fix spinlock error check * README: update number of stressors * Add netlink taskstats stressor * stress-shm-sysv: add occasional reading of /proc/sysvipc/shm for linux * stress-sem-sysv: add occasional reading of /proc/sysvipc/sem for linux * stress-msg: declare get_procinfo only when required for linux * stress-msg: add occasional reading of /proc/sysvipc/msg for linux * stress_get: add deprecated _sysctl call to get sysctl info * stress-sysfs: exercise /proc/thread_self earlier * stress-lockbus: add split locks * stress-mq: add lseek and poll on mq descriptor for Linux * stress-rawsock: limit this to linux for the moment * stress-resources: fix missing guard on fd_ev * core-time: add constification * core-thermal-zone: add constifications * core-shim: add a constification * core-parse-opts: add some constifications * core-mwc: add a constification * core-helper: minor constification clean ups * core-cache: constify len2 * Add a raw socket rawsock network stressor * Add HAVE_LINUX_HPET_H config checks * stress-socket: add baroque mmap on socket fd * core-thrash: add zone compaction, make per process paging less aggressive * stress-dev: add hpet HPET_INFO ioctl dev check * stress-loop: add LOOP_SET_DIRECT_IO ioctl * stress-loop: add 64 bit info get/set ioctl calls * stress-fanotify: check if FAN_MARK_FILESYSTEM is defined * stress-fanotify: exercise remove and flush -- Colin King Sat, 22 Jun 2019 09:27:15 +0100 stress-ng (0.09.59.1-0ubuntu1) unstable; urgency=medium * Makefile: bump version * stress-wcs: fix segfault because of using incorrect string pointer -- Colin King Sat, 8 Jun 2019 19:39:12 +0100 stress-ng (0.09.59-0ubuntu1) unstable; urgency=medium * Makefile: bump version * Add bash completion script * Fix up missing options args on help for various stressors * stress-fcntl: ignore EINTR as a failed error return * stress-iomix: add yield point in ioctl exercising * stress-resources: add missing ifdef guard on fd_memfd * stress-resources: add more yield points * stress-ioprio: add more yield points * stress-inode-flags: add another yield point check per ioctl * stress-hrtimes: optimize the reaping process of child processes * stress-vfork: improve vforkmany stressor yielding * stress-dnotify: make dnotify wait loop yield * Add more yield points when touching pages with mincore_touch_pages * stress-bad-altstack: fix inverted logic of yield checks * stress-bad-altstack: add some more yield points * stress-yield: clarify yielder task types * stress-mmap: voidify unused argument mmap_mprotect * stress-str: fix incorrect size for str2 * stress-wcs: fill string with random characters to the correct length * stress-shellsort: remove base_index helper function * stress-shellsort: correctly constify return from base_index() * remove declaration of ret, it shadows a higher scoped declaration * stress-prct: remove environ declaration, it is defined int unistd.h * core-helper: voidify unused capability argument * Revert "stress-vecmath: align data to cache boundary and copy on initialization" * core-helper: fix missing int type in stress_check_capability declaration * check for capabilities rather than if euid is zero * stress-clone: make parent of clone'd processes less oomable * stress-vecmath: align data to cache boundary and copy on initialization * sorting: fix comments of sorting functions * Add shell sort CPU/memory stressor * stress-wcstr: cache align start of wide strings * stress-wcstr: remove a string randomization, exercises wcstr functions more * stress-str: use len1, len2 for string lengths * stress-mremap: remove empty line * Add in missing white space * Ignore SIGUSR1, don't let it stop stressing * core-job: fix optind check, should only check for non --job options * jobs: parse jobfile name from correct argv[] location * stress-pidfd: replace goto's with continues * stress-poll: replace redo goto with a for-loop * stress-prctl: also exercise PR_SET_PTRACER * stress-prlimit: add more PR_SET_MM exercising * stress-prctl: pass correct zero flags on PR_SET_MM_BRK * stress-str: remove an string randomization, exercises str functions more * stress-bad-altstack: install signal handler in child as early as possible (LP: #1830856) * stress-netdev: add in missing ioctls to exercise * stress-seccomp: add maximum seccomp bpf filter stress * Add --msg-types to manual * stress-mq: remove an unnecessary assignment * stress-mq: remove stop flag, just kill child to remove complexity * stress-msg: remove need for magic stop message, just kill child instead * stress-msg: make message 4 bytes, cache align it to get more throughput * stress-shm: voidify memset return * stress-enosys: replace multiple if statements with loop * stress-cyclic: refactor some code * stress-cyclic: add less accurate usleep sleep delays * zlib: add lrand48 data source zlib method * stress-funccall: rename funcall -> funccall * stress-clone: make parent of the clones child processes an OOMable target (LP: #1828788) * Add pass by value function return funcret stress tests * stress-fault: make minor page faults more stressy -- Colin King Fri, 7 Jun 2019 17:01:02 +0100 stress-ng (0.09.58-0ubuntu1) unstable; urgency=medium * Makefile: bump version once more * core-cache: cater for C libraries that don't support GLOB_ONLYDIR * stress-bad-altstack: move help info to start of function to fix build error * stress-icache: fix build error, add missing comma * stress-stackmmap: move help info to start of function to fix build error * stress-vm: include options that are no-ops for some arches * stress-vm: fix missing return 0 * stress-full: move help info to start of function to fix build error * stress-af-alg: fix build error, add missing comma * Add copyright boilerplate to some text files * Move per stressor help info into each stressor * stress-udp: only declare udp_lite variable if UDP lite is supported * stress-cache: move cache_flags declaration; fixes build error * stress-ng: free proc info when a proc is being removed from the list * Allow multiple definition of symbols when building a static image * stress-softlockup: fix spelling mistake "reslults" -> "results" * stress-cpu: fix spelling mistake "maxiumum" -> "maximum" * stress-sigsegv: fix spelling mistake "instread" -> "instead" * stress-ng: fix spelling mistake "functon" -> "function" * Fix spelling mistake "exercsing" -> "exercising" * stress-ng: fix spelling mistake "compressession" -> "compression" * stress-cpu: fix spelling mistake "Rapshon" -> "Raphson" * Add missing colon in error message text * stress-zlib: clarify precedence of & and ? operators * stress-stack: reduce scope of variable i * core-log: reduce scope of empty_ts * stress-aio-linux: fix build issue, missing , * stress-*: pass args using opt rather than optarg * stress-socket: make function stress_set_socket_domain static * stress-ng.h: compact up option flags * stress-*: remove the use of global opt flags for non-global stressor settings * stress-*: make various variables static * stress-*: make some more functions static * stress-funccall: make a few more functions static * stress-funccall: make functions static * Remove the declaration of stressor options in opt_set_funcs, move them to each stressor * Move STRESSORS macro to stress-ng.h and declare stress_id_t with it * stress-ng: remove STRESS macro and declare stress info objs using STRESSORS macro * core-shim: remove FUTEX_WAIT from shim_enosys call * core-shim: replace ENOSYS code with an inlined helper * Add build time check for pidfd-send-signal system call * Add new pidfd stressor that exercises pidfd_send_signal * Remove stress-pidfd.c from Makefile * stress-enosys: don't SIGKILL child when it is waiting to reap (LP: #1825089) * Add shim_waitpid to silently handle EINTR by retrying * stress-numa: fix undefined behaviour with left shift * stress-numa: fix calculation of max nodes (LP: #1803468) * stress-fanotify: add FAN_OPEN_EXEC_PERM and try all allowed masks one by one * stress-seal: exercise F_SEAL_FUTURE_WRITE * stress-cpu: don't use large fft arrays on the stack * stress-cpu: don't use large correlation arrays on the stack * stress-cpu: don't use large matrixprod arrays on the stack * stress-kcmp: rework capfail message to unconfuse static analysis tools * stress-af-alg: make several functions static * stress-sysfs: rename stat buf to stafbuf to fix name shadowing warnings -- Colin King Thu, 2 May 2019 08:48:11 +0100 stress-ng (0.09.57-0ubuntu1) unstable; urgency=medium * Makefile: bump version * stress-zlib: make buffer in static to avoid large stack allocations * stress-sysfs: only close ctxt.kmsgd if the fd is open * test/test-sendmmsg: fix another resource leak of sockfd * stress-epoll: remove redundant initialization of ret * stress-fifo: remove redundant initialization of rc * stress-fcntl: remove redundant initialization of rc * stress-sysfs: fix fd leak * core-perf: remove redundant variable rc * stress-zero: ensure initialized data is being written * test/test-posix-fadvise: remove unused label 'err' * core-log: add paranoid check for localtime returning NULL * test/test-mremap: remove unused pointer buf * stress-opcode: remove redundant initialization of rc * test/test-inotify: remove unused variable ret * stress-swap: remove redundant assignment of fd to -1 * test/test-sendmsg: close socket fd * stress-pty: remove redundant variable rc * test/test-posix-fadvise: remove redundant variable ptr * stress-memrate: remove redundant assignment to rc * stress-dev-shm: remove redundant assignment of sz_delta * stress-zlib: remove redundant initialization of flush * Make various large stack allocations static * stress-shm: fix end of string setting on wrong string * core-helper: initialize val2; cleans up static analysis warning * stress-pipe: use strncmp instead of strcmp on pipe stop message * stress-socket-fd: check for non-null addr before unlinking addr_un * stress-physpage: fix mapping address on failed mmap. * stress-zlib: fix double call to deflateEnd * stress-fcntl: improve checking of file creation * stress-shm-sysv: lock/unlock shm segment if SHM_LOCK/SHM_UNLOCK are defined * stress-af-alg: fix copy-n-paste error on pointer name * stress-af-alg: track unavailable af algs across multiple stressors (LP: #1813847) * stress-sysfs: add mmap and readlink operations on sysfs files -- Colin King Wed, 27 Mar 2019 12:16:20 +0000 stress-ng (0.09.56-0ubuntu1) unstable; urgency=medium * Makefile: bump version * stress-bigheap: poll with keep_stressing() rather than g_keep_stressing_flag * Fix typo in sysbadaddr help, sysbaddaddr-ops -> sysbadaddr-ops (LP: #1820251) * stress-shm: paranoidly memset msg; cleans up static analysis warnings * stress-nice: use setpriority or nice of both are available * stress-zlib: fix incorrect macro name, should be HAVE_BUILTIN_CTZ (LP: #1820252) * stress-udp-flood: add some random port flooding into the mix * stress-procfs: exercise procfs with mmap, ioctl and poll too * stress-xattr: use macro for the max number of xattr settings * README: add pcc as another supported compiler (LP: #1820253) * Disable matrix-3d options when building with pcc * stress-ng.h: don't use sync_synchronized when building with pcc * stress-ng.h: make __builtin_prefetch a variadic function * stress-matrix-3d: disable for PCC builds as this breaks the compiler * stess-ng.h: fully define __builtin_prefetch for pcc * Add build time check for gcc/clang label as a value feature * core-perf: add OOM and thermal zone trip perf stats (LP: #1820254) * core-perf: add filemap page cache perf stats (LP: #1820254) -- Colin King Fri, 15 Mar 2019 10:55:02 +0000 stress-ng (0.09.55-0ubuntu1) unstable; urgency=medium * Makefile: bump version * Remove need for alloca.h to be build checked or included * Manual: update stack stressor description, it no longer uses alloca() * Add tcc as supported compilers in README * core-helper: add missing __dso_handle for tcc * Add build check for __builtin_prefetch * Add build-time checks for __builtin_memcpy and __builtin_memmove * Add implementation of __builtin_ctz for systems that don't support this * core-helper: use correct etext and edata symbols for tcc builds * Use correct macro name HAVE_VLA_ARG and not HAVE_VLA_ARGS * matrix-3d: fix all matrix-3d settings, the name should not be matrix_3d* * Add check for variable length array support in function args * rename TYPEOF macro to CAST_TYPEOF as it really is used for type casting * Add build checks for complex.h and complex type * stress-close: remove debug message * stress-close: add more pthreads, remove some protocols and fsync * core-helper: remove redundant null check for case where NSIG or _NSIG are not defined * core-helper: use ptrdiff_t types for pointer math and fix start >= end check * core-mwc: use ptrdiff_t types to perform pointer math on different objects * stress-resources: remove use of alloca * stress-stack: remove need for alloca, expand stack by deep recursion * stress-funccall: add additional missing floating point types * stress-funccall: add in return type returns, remove structs * tests: clean up some cppcheck style warnings * stress-zlib: add extra brackets to explicitly clarify precedence * stress-unshare: guard declaration of euid with CLONE_NEWNET check * stress-switch: reduce scope of overrun and overrun_by * stress-ng: declare and assign last_page only when it is required * stress-ng: move get class setting before class is sanity checked * stress-hrtimers: remove redundant if check, ensure timer is always non-zero * stress-hdd: fix iovec buffer settings * stress-cpu: remove redundant multiply of gm, it's not used * stress-apparmor: reduce scope of variable tmp_counter * core-helper: reduce scope of buffer 'str' * core-helper: stress_text_addr: check for start >= end * core-helper: move start if #ifdef to remove unused code * Manual: update contributors list * stress-vm-addr: fix discarding of existing mappings * stress-ng: bring back error messages from getopt_long * stress-ng: fix ALWAYS_INLINE with gcc < v6.0.1 on s390/s390x * stress-ng: fix --class option * Add close race stressor, exercises various close kernel paths * Makefiles: make static build checking handle linking correctly -- Colin King Mon, 4 Mar 2019 16:01:23 +0000 stress-ng (0.09.54-0ubuntu1) unstable; urgency=medium * Makefile: bump version * stress-efivar: add in missing constifications * core-cache: fix strncpy - it was one byte too short and not copying end-of-string char * stress-efivar: properly work around gcc-9 -Waddress-of-packed-member warning * stress-efivar: pass naturally aligned pointer (stops gcc9 from complaining) * stress-pthread: don't unlock if previously an unlock failed * stress-zlib: avoid static analysis warnings about division by zero on zero text_len * stress-mremap: fix compare, was an incorrect assignment * stress-urandom: skip stressor if /dev/urandom and /dev/random don't exist -- Colin King Thu, 21 Feb 2019 18:15:55 +0000 stress-ng (0.09.53-0ubuntu1) unstable; urgency=medium * Makefile: bump version * Manual: update date * Manual: update contributing authors * stress-zlib: mark zero pipe reads as an interrupted pipe * stress-zlib: improve error handling messages * stress-sem: check for errno being zero for dilos * test/test-bsd-wchar: Explicitly include stdio.h * stress-af-alg: add yield detection before a blocking accept() * stress-socket: add yield detection before a blocking accept() * stress-sctp: add yield detection before a blocking accept() * stress-dccp: add yield detection before a blocking accept() * stress-epoll: add yield detection before a blocking accept() * stress-socket-fd: add more yield detection points * stress-ng: cast pid_t to int for printf * Add build time check for clearenv() * Voidify return from shim_sched_yield() * stress-vm-segv: add some voidifications on ptrace calls * Voidify return from fflush() * Voidify return from feraiseexcept() * Voidify return to shim_usleep() * Voidify return from snprintf * Voidify return from calls to shim_cacheflush * core-perf: add spinlock/unlock error checking * thermal-zone: remove degrees char and also add Kelvin too * Voidify return of sync() * stress-tree: ensure avl cleans it's nodes on free * Voidify return from memcpy() * Voidify return from memset() * Rename dummy variable to signum * stress-key: don't perform KEYCTL_CLEAR, add more error checking * stress-daemon: perform more SysV daemon like actions * stress-vdso: fix typo in comment * Handle ENOMEM fork failures by retrying * stress-ng: catch and report weird child termination issues -- Colin King Fri, 15 Feb 2019 12:05:01 +0000 stress-ng (0.09.52-0ubuntu1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-clock: ignore EPERM errors on timer_create * stress-clock: ignore -EINVAL and -ENOSYS failures for gettime and getres * stress-sem-sysv: don't spam output with timeout info messages * stress-clock: ignore -EINVAL and -ENOSYS failures * stress-switch: remove debug * stress-switch: fix division by zero by switch_freq * Update number of stressors in README * Add 3D matrix stressor * stress-ng: update version info in manual * Add stress_get_uname_info to get specific uname info, tidy up -V output * stress-ng: add compiler version info into -V info * Add helper function to get compiler information * Fix some spelling mistakes. * stress-mlock: add zero sized mlock/munlocks * stress-udp: move declaration of variable val * stress-mmap: be less noisy on mmap failures and fix directory cleanup (LP: #1807732) * Add new --switch-rate context switch rate setting -- Colin King Wed, 6 Feb 2019 13:27:33 +0000 stress-ng (0.09.51-0ubuntu1) unstable; urgency=medium * Makefile: bump version * stress_numa: remove __linux__ check * Add build time checks for struct shmid_ds and struct shminfo * stress-mlockmany: add some invalid mlock/munlock calls for more stress * stress-clone: use shim_unshare instead of unshare * stress-clone: forgot to remove other __linux__ check * stress-clone: remove __linux__ checks * Add shim for getxattr to work around OS X 6 arg getxattr * stress-sleep: remove debug on join failure on bad threads * Add watchdog test to excluded tests as it can trigger reboots * stress-ng.h: remove a couple more __linux__ checks * Add build check for sched_rr_get_interval * stress-sysbadaddr: remove __linux__ checks * stress-sleep: fix broken --sleep-ops threshold counter * stress-sleep: improve main loop exit on alarm * stress-pthread: clean up warning on %d for pid_t types (missed one) * stress-softlockup: memset param to avoid old gcc warnings on struct initializer * stress-pthread: clean up warning on %d for pid_t types * Add build check for struct msginfo * stress-rlimit: fix warnings on gcc 6.4 on solaris * stress-hrtimers: fix warnings on gcc 6.4 on solaris * stress-cyclic: fix warnings on gcc 6.4 on solaris * stress-lockbus: fix warnings on gcc 6.4 on solaris * stress-cpu-online: remove empty line * stress-pty: remove __linux__ check and add ptsname check * Add checking for process-vm-readv and process-vm-writev * stress-pthread: add better error recovery and locking prevention checks * stress-pthread: make error messages a bit more informative * Add build detection of ino64_t * stress-bind-bound: add some extra clone flag checks * stress-memthrash: remove __linux__ check * Add name_to_handle_at and open_by_handle_at checks * stress-getrandom: clean up buffer size setting * Move ptsname check to correct alphabetic order place * Add check for ptsname * stress-resources: remove some more __linux__ instances * Add build check for sched_setscheduler * stress-iomix: replace __linux__ check with HAVE_SYNC_FILE_RANGE check * stress-cyclic: fix build warning on systems without sched_get_priority* * Add build detection for sched_get_priority_{min|max} * stress-cyclic: remove __linux__ checks, the code is generic enough now * stress-oom-pipe: replace __linux__ check with appropriate macro checks * stress-msg: remove __linux__ check, check instead IPC_INFO and MSG_INFO * stress-hrtimes: remove __linux__ check * Add build time check for splice * Add build time check for tee system call * Add build time check for vmsplice * test/test-off64_t.c: clean up cppcheck style warning * test/test-loff_t: clean up cppcheck style warning * stress-utime: clean up cppcheck style warning * sytess-sysinfo: fix some cppcheck style warnings * stress-pty: clean up some cppcheck style warnings * stress-clock: reduce scope of several variables * stress-apparmor: ensure we handle residual bogo ops * stress-apparmor: fix broken apparmor-ops accounting * core-helper: clean up unused variable warning * stress-poll: fix missing }, detected by cppcheck * stress-ng: remove extraneous ) bracket found by cppcheck * stress-af-alg: add missing ) in message * stress-sigfpe: ignore bogus -ve si_codes * Add build time checks for xattr family of system calls * stress-xattr: remove __linux__ check * stress-rlimit: remove __linux__ check * stress-lockbus: remove __linux__ check * stress-iomix: only perform ioctl's if the ioctl command is defined * stres-futex: remove __linux__ check * stress-dnotify: remove __linux__ check * stress-switch: replace __linux__ check with HAVE_PIPE2 check * stress-sleep: remove __linux__ check * Add build time check for crypt_r * core-out-of-memory: remove some empty lines * core-io-priority: remove __linux__ check * core-helper: remove __linux__ check on F_SETPIPE_SZ check * core-helper: replace __linux__check with HAVE_SCHED_GETCPU * stress-spawn: check if /proc/self/exe is supported * stress-spawn: remove __linux__ check * stress-pipe: replace GLIBC version check with check for O_DIRECT * Add build time checks for pipe2 * stress-timer: remove other __linux__ check * stress-timer: remove \ continuation from # if defined check * stress-timer: remove __linux__ check * stress-cache: fix warnings when sched_getcpu not available * Add build time checks for sched_getcpu * stress-yield: remove need for GLIBC version * stress-apparmor: remove need for __linux__ check * Add build time checks for sched_getaffinity * stress-aio: remove __linux__ check * stress-aio-linux: remove check for __linux__ * stress-mlock: use shim version of munlock() * debian/tests/fast-test-all: add mlockmany to the banned stress tests * stress-mlockmany: make this stressor CLASS_PATHOLOGICAL * Add more mlock/munlock iterations while child waits to be killed * stress-mlockmany: check for ability to mlock/munlock * stress-mlockmany: remove redundant low mem checks * stress-mlockmany: add more yielding points * stress-branch: make source more compact * Add build time check for semtimedop * stress-sigq: fix build warning on Solaris with gcc 4.8.2 * stress-sysbadaddr: fix cast * stress-sysbadaddr: fix pointer bump warnings * stress-resources: declare ret in block only if required * stress-mlockmany: replace MAX_LOOPS with 1024 * stress-clock: only define stress_clock_name if required * stress-sem-sysv: fix build issue with timeout undefined * stress-mlockmany: set default ptr to avoid any warnings * stress-cyclic: move stress_cyclic_itimer_handler to clean up build warning * stress-cyclic: move timerid into function, don't make it static * stress-sysbadaddr: use HAVE_NANOSLEEP check * stress-cyclic: make timer delay checks more portable * Add build time check for posix_madvise * stress-clock: add timer_getoverrun call to exercise this more * Add build time check for timer_getoverrun * Add build time check for timer_gettime * Add build time check for timer_settime * Add build time check for timer_create * Add build time check for timer_create * Add build time check for clock_nanosleep * Add build time check for clock_getres * Add build time check for clock_settime * Add build time check for clock_gettime * stress-sigrt: remove need for _POSIX_C_SOURCE check * stress-sigqueue: remove need for _POSIX_C_SOURCE check * Add build time check for sched_yield * stress-branch: add note to why we inlined mwc8 * stress-branch: add inline mwc8(), boosts cache misses * Add some addition x86 target clone targets * Add a mlockmany aggressive mlock stressor * stress-resource: add check that RLIMIT_MEMLOCK is available * Add CLONE_NEWCGROUP for stress-unshare.c * README: add libipsec-mb-dev to library list * core-mwc: add in aux_rand value to w term * stress-resources: mlock and munlock pages of memory * stress-vm-segv: remove debug printf * stress-vm-segv: use ptrace if available to stop apport spammage * stress-opcode: use seccomp trap rather than a kill * stress-opcode: add a text --opcode-method * stress-zlib: use new stress_text_addr helper * core-helper: add stress_text_addr text segment helper * stress-vm-segv: remove setrlimit on core dump size * stress-seccomp: catch child with SIGSYS trap * core-helper: attempt to set soft rlimit first * Makefile: remove -g CC option * stress-secomp: clean up incorrect indentation * stress-ipsec-mb: voidify job submission returns * Add missing idle-page mini help information * stress-sem: use trywait and do some yielding * stress-sem: run semaphore stressors as pthreads and not child processes * Fix typo in int128_t support message and don't support for < GCC 4.0.0 * core-shim: handle posix_fallocate error return correctly * stress-timerfd.c: rename TIMER_MAX to TIMERFD_MAX * Add build detection of various BSD related header files * stress-idle-page: return EXIT_NO_RESOURCE if sysfs entry does not exist * Add build detection of __int128_t types * Add build time check for alloca.h * core-log: add gnu printf format attribute for pr_msg_lockable * core-log: make pr_msg_lockable static to reduce scope * core-affinity: rename ptr to avoid variable shadowing warnings * stress-memcpy: fix naive memcpy and memmove, swap src and dest pointers * stress-ng.h: remove another unnecessary __linux__ check * Add build time detection of missing __kernel_long_t and __kernel_ulong_t * stress-ng.h: remove unnecessary linux check * stress-ng.h: remove some duplicated includes * core-helper: add more prctl build time checks * Add build checks for prctl and remove __linux__ checks * stress-ng: define IOPRIO_* macros if they are not defined * stress-ng.h: add build check for malloc.h * stress-ng.h: remove empty lines * Add build checks for loff_t and off64_t types * rename personality.c to core-personality.c, update Makefile * Replace deconstification with a opt arg duplication * stress-clone: remove a deconstification * Rename core helper source, add core- prefix to source * helper: prefix some helper functions with stress_ * Add a new idle scan page scanning stress test for Linux * Remove per-stressor umask as is now set before running each stressor * Set umask to owner before running each stressor * Add build time check for flock() * log: add comments and handle systems that don't support flock * Add log message locking. * stress-resources: guard pkey with HAVE_PKEY_* macro checks * Makefile.config: sort config function probing * Add posix_fallocate check and use shim_fallocate if it does not exist * stress-timerfd: use 256 timers for more stress and throughput * stress-procfs: remove empty line * stress-fanotify: use the mount_get()/mount_free() mount helpers * stress-iosync: force sync'ing on all accessible mount points * stress-ng.h: minor space reformatting * Add a --memcpy-method option to use different memcpy/memove functions * stress-fanotify: add kernel v5.0 FAN_OPEN_EXEC support * stress-ipsec-mb: allow static build now that ipsec lib has symbols exported -- Colin King Thu, 31 Jan 2019 16:45:31 +0000 stress-ng (0.09.50-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-fanotify: don't declare ret if it is not used * stress-ipsec-mb: make pr_inf message a debug pr_dbg message * stress-zlib: remove xsum value debug verify information * stress-ipsec-mb: add more explanation to why the stressor may be skipped * stress-ipsec-mb: check for IMB_* macros * stress-ipsec-mb: fix typo "avx" -> "avx2" * stress-ipsec-mb: Add SHA encryption * stress-ipsec-mb: fix hmac md5 error messages * stress-ipsec-mb: Add HMAC MD5 * stress-ipsec-mb: add CTR encoding * stress-ipsec-mb: don't enable for static builds * Update copyright year * debian/control: add ipsec library dependency * stress-quota: use linux quotactl API for linux only systems * stress-opcode: voidify name argument * stress-opcode: define stress_set_opcode_method for unimplemented build case * Forgot to add test/test-libipsec-mb.c * Add initial cut of ipsec-mb stressor for SHA, DES and CMAC * stress-af-alg: prefix macro constants with SNG to avoid clashes * stress-rdrand: remove assembler cpuid check * stress-fanotify: improve FAN mode checks for v4.20 * stress-resources: fork a child off on each resource eating child * Add --opcode-method [ random | inc | mixed ] option * shim: remove duplicated code for __APPLE__ case * stress-opcode: iterate 1024 times in each child * stress-stackmmap: fix leak of open file descriptor on ENXIO error * stress-opcode: comment why mwc32() is being called before forking * stress-opcode: remove unnecessary { } block scope * stress-opcode: use mwc8() instead of mwc32() when setting opcodes * snapcraft: make stress-ng binary static and add various plugs -- Colin King Wed, 2 Jan 2019 16:58:52 +0000 stress-ng (0.09.49-1) unstable; urgency=medium * Makefile: bump version * stress-udp-flood: remove check for struct iphdr and icmphdr * stress-icmp-flood: add check for struct iphdr and icmphdr * Add checks for struct iphdr and icmphdr * helper: remove libgen.h - it is not needed * Add check for fenv.h * Add check for float.h * stress-icmp-flood: fix typo in macro name check * Add checks for netinet/ip.h and netinet/ip_icmp.h * Move getopt.h to stress-ng.h * Add check for netinet/sctp.h * Add check for locale.h * stress-epoll: remove need for netdb.h, clean up define checks * Add checkfor libgen.h * stress-spawn: only test on linux * Add detection for posix_spawn * stress-socket: add check for SOL_TCP for BSD systems * Add check for net/if.h * Add check for netinet/tcp.h and clean up stress-socket a little * Move include of arpa/inet.h to stress-ng.h * Move include netinet/in.h to stress-ng.h * stress-dirdeep: remove include of dirent.h, it is already included in stress-ng.h * Add check for cpuid.h * Move include of keyutils.h to stress-ng.h * Move include of crypt.h to stress-ng.h * Add check for strings.h * Fix check on sys/msg.h, use correct macro for check * Use check for mqueue.h * Move pwd.h to stress-ng.h * Add check for mqueue.h * Move ucontext.h and search.h to stress-ng.h * Add check for semaphore.h * Add checks for aio.h and spawn.h * Move math,h and complex.h to stress-ng.h * Disable swap for SunOs/Solaris as the interface is different to Linux * stress-chown: don't count retries for NetBSD sched_yield retries * stress-raw-dev: replace __linux__ check with some more specific checks * test/test-sysinfo.c: force failure for sunos, this clashes with a different sysinfo * stress-ng.c: Add check for sysinfo system call * Add check for sysinfo system call * Add check for syslog.h * Add check for sys/epoll.h * Add check for poll.h * helper: remove include of sys/statvfs.h as it is include from stress-ng.h * Add check for sys/shm.h * Add check for sys/msg.h * Add check for sys/ipc.h * helper: use HAVE_SYS_STATVFS_H check for statvfs calls * stress-filename.c: use statvfs check * Add check for sys/statvfs.h * Add check for sys/statfs.h * Use check for sys/fanotify.h * Add check for sys/sysmacros.h * stress-rawdev: remove include of dirent.h, it is in stress-ng.h * Add check for sys/io.h * Add check for sys/inotify.h and various inotify types * Add check for termio.h and termios.h * Add check for sys/quota.h * Add check for deprecated include ustat.h * Add check for utime.h * Add check for sys/sysinfo.h * Move include of sys/timex.h from stress-get.c to stress-ng.h * Add check for sys/ucred.h * Add check for sys/mount.h * Add check for sys/param.h * Move include of mntent.h to stress-ng.h * Add check for sys/personality.h * perf-event: no need to check for __linux__, remove check * Add better checking for HAVE_LINUX_PERF_EVENT_H * stress-nop: undefined NOP macros to avoid name space clash * Move libaio.h from stress-aio-linux.c to stress-ng.h * Move several includes from stress-dev.c to stress-ng.h * Add check for linux/cn_proc.h * Add check for linux/unix_diag.h * Add check for linux/sock_diag.h * Add check for linux/rtnetlink.h * Add check for linux/netlink.h * Add check for linux/connector.h * stress-sock-diag: remove includes that are in stress-ng.h * stress-ng.h: remove check for HAVE_SWAP to include swap.h * Add check for linux/posix_types.h * stress-ng.h: more clean ups * stress-ng.h: more include cleanups * alphabetically re-order sys/includes * Move include of linux/if_alg.h to stress-ng.h * Move include of linux/socket.h to stress-ng.h * stress-dev: remove need for linux/random.h, it's included in stress-ng.h * stress-timerfd: clean up build warning on pid_t on sunos * Only include sys/swap.h if swapon/swapoff exist * stress-sendfile: return EXIT_NOT_IMPLEMENTED if sendfile returns ENOSYS * Add check for statfs system call * Add swapon/swapoff system call autodetection * stress-swap: don't use SWAP_FLAG_PREFER if it's not defined * stress-sysbadaddr.c: remove include of sys/vfs.h * Add build config check for sys/uio.h * Add build config check for sys/vfs.h * Add build config check for sys/swap.h * Add build config check for sys/timerfd.h * Move include of sys/apparmor.h to stress-ng.h * Add build config check for sys/sendfile.h * Add build config check for sys/signalfd.h * stress-netdev.c: remove include of sys/ioctl.h, it is included in stress-ng.h * Move include of sys/auxv.h to stress-ng.h * stress-socket-diag: remove include for sys/socket.h, it is include in stress-ng.h * Add build config check for netinet/in.h * Add build config check for sys/un.h * Add in version info computer unicode character * Add unicode 32 symbol for fire in the version info * Re-order pthread and libc library linker order (LP: #1807176) * Move include to stress-ng.h * stress-rawdev: remove sys/types.h as it is included in stress-ng.h * Rename HAVE_SYS_CAP_H to HAVE_SYS_CAPABILITY_H, move include to stress-ng.h * stress-urandom: move the include of linux/random.h to stress-ng.h * stress-loop: move the include of linux/loop.h to stress-ng.h * stress-futex: remove include/futex.h * shim: remove linux/futex.h include * Move the include of linux/rtc.h to stress-ng.h * Move the include of linux/watchdog.h to stress-ng.h * Move the include of linux/userfaultfd.h to stress-ng.h * Move the include of linux/futex.h to stress-ng.h * stress-seccomp: no need for __linux__ check, remove it * stress-opcode: fix build issue because if #if/#endif mismatch * Move linux/seccomp.h include to stress-ng.h * Add build config check for linux/filter.h * Add build config check for linux/audit.h * stress-seccomp: improve EACCES failure skip message information * Add build config check for sys/prctl.h * stress-udp-flood: check for EPROTONOSUPPORT socket failures * stress-stackmmap: handle ENXIO mmap failures on minix * stress-loop: remove redundant check for __linux__ being defined * Add build config check for linux/rtc.h * Add build config check for linux/version.h * stress-urandom: use HAVE_LINUX_URANDOM_H check * Add build config check for linux/watchdog.h, re-order some checks too * Add build config check for sys/timex.h * Add build config check for sys/utsname.h * stress-get: fix typo in comment * Use check for HAVE_LINUX_FUTEX_H for linux/futex.h * Move sys/select.h include into stress-ng.h * Add build config check for linux/fs.h * Add build config check for sys/fanotify.h * Add build config check for mntent.h * Add build config check for crypt.h * Add build config check for ucontext.h * Add build config check for sys/apparmor.h * Add build config check for sys/select.h * Add build config check for libaio.h * Add build config check for aio.h * Rename HAVE_SOCK_DIAG_H to HAVE_LINUX_SOCK_DIAG_H * stress-af-alg: add checks for and * stress-stackmmap: needs swapcontext * stress-ng: minor reordering of includes, minor changes * Remove include of semaphore.h as this is already included in stress-ng.h * stress-ng.h: fix include on semaphore.h * stress-resources: use posix semaphores if HAVE_SEM_POSIX is defined -- Colin King Thu, 13 Dec 2018 16:08:11 +0000 stress-ng (0.09.48-1) unstable; urgency=medium * Makefile: bump version * stress-dev: pass correct struct to SCSI_IOCTL_GET_IDLUN ioctl (LP: #1806024) * Remove full stop from some messages, like other messages * stress-spawn: fix skipping message, use stressor test name -- Colin King Fri, 30 Nov 2018 12:07:13 +0000 stress-ng (0.09.47-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * Add in missing option --vdso-func to specific the vDSO function to call * stress-mcontend: check data[1] rather than data[0] for failed mmap * stress-dev: remove redundant null assignment to dev_scsi_new * log: use strncpy instead of less safe strcpy * README: add WSL as a supported platform * stress-itimer: skip stressor if itimer cannot be set * stress-schedpolicy: skip sched_setparam on EPERM errors * stress-key: skip stressor if add_key is not implemented * stress-netdev: ignore errors of EINVAL on ioctls * stress-ioprio: skip over failures that return -EINVAL * stress-file-ioctl: skip flag checking if ioctl fails * helper: forgot to use %s when printing cache pr_inf message * stress-file-ioctl: silently ignore ENOTTY ioctl failures * stress-file-ioctl: add in errno info on failure * helper: shrink cache defaults message, make it less verbose * stress-fcntl: cater for kernels that don't support some fcntl commands * stress-sigio: cater for kernels that don't support F_SETOWN * stress-udp: cater for kernels that don't support SO_REUSEADDR * cache: remove some empty lines, minor code cleanup * stress-tee: terminate with EXIT_NO_RESOURCE on ENOMEM on tee * stress-sctp: skip stressor if protocol is not supported (part 2) * Make cache size warnings less verbose * Add getauxval autoconfig detection * stress-vdso: only build test if AT_SYSINFO_EHDR is defined * README: add in more operating systems that the tool can build on * stress-sync-file: skip stressor if sync_file_range is not implemented * stress-switch: fall back to pipe() if pipe2() fails to work * stress-socket-diag: skip stressor if protocol is not supported * stress-sctp: skip stressor if protocol is not supported * stress-pipe: fall back to pipe() if pipe2() fails to work * exit_status: make ENOSYS return EXIT_NOT_IMPLEMENTED * stress-mq: skip stressor if POSIX message queues are not implemented * stress-mincore: skip stressor of mincore not implemented * stress-full: check if /dev/full exists, return EXIT_NOT_IMPLEMENTED if not available * stress-filename: cater for WSL on Windows 10 ENOENT errors * stress-filename: make probing more robust * stress-clock: handle kernels that return -EINVAL for timer_create * stress-vdso: make function vdso_sym_list_check_vdso_func static * stress-vdso: fix realloc null return check, don't check str * stress-vdso: ensure hash is initialized to NULL * stress-zlib: add gray code generator * stress-zlib: add brown noise and fix missing funcs from rand_data_funcs * stress-wait: voidify kill return * stress-vm: minor optimization, don't keep on recomputing max_ops arg * stress-vm: handle counter increments via helper functions * stress-bindmount: use get_counter instead of referencing counter * Add add_counter helper to add a value to the bogo op counter * Add a set_counter helper to set the bogo counter * Use get_counter rather than directly referencing *args->counter * mwc: use getauxval(AT_RANDOM) as a base seed if it is available * stress-switch: add more context switch info * stress-ng.h: add get_counter helper to get counter from args * stress-vdso: add arm64 vDSO symbol names * stress-vdso: scan all symbols and remove duplicates * Add vDSO stress test. * use a test program to conditionally set TARGET_CLONES (LP: #1800826) * Detect and use if it is available. * Fix build with uClibc-ng (LP: #1800829) * stress-ng.h: conditionally define _{LARGEFILE,LARGEFILE64}_SOURCE to fix build warning (LP: #1800828) -- Colin King Wed, 21 Nov 2018 17:03:43 +0000 stress-ng (0.09.46-1) unstable; urgency=medium * Makefile: bump version, remove -g and -pipe flags * Makefile: remove -pipe and -g CFLAGS * stress-ng: only defined TARGET_CLONES optimizations for x86-64 * stress-affinity: fix set affinity setting across all stressors (LP: #1803322) * stress-fault: add mmap failed resource checking, treat as non-fatal * stress-tlb-shootdown: retry for ENFILE errors on mmap * stress-udp: handle ENETUNREACH silently * stress-vecmath: work around gcc breakage on ppc64el -- Colin King Wed, 14 Nov 2018 13:01:57 +0000 stress-ng (0.09.45-1) unstable; urgency=medium * Makefile: bump version * Use alternative mmap strategy on last shared page if mprotect is not available * stress-dev: constify a char * function parameter, fixes warning * stress-dev: fix warnings on non-Linux systems * stress-dev: add 4.20 BLKGETZONESZ and BLKGETNRZONES ioctls * stress-tsc: add supported handler for non-x86 * stress-rdrand: add supported handler for non-x86 * stress-ng: add extra non-accessible page at end of shared region * thrash: assign return to variable and voidif * stress-getrandom: check if system call is available before testing * stress-cpu-online: ignore -EOPNOTSUPP failure, just keep on exercising the sys interfaces * stress-cpu-online: check if we can access sysfs file for updating * stress-cpu-online: add root check before running the stress test * stress-seccomp: add sanity check to see if SECCOMP_SET_MODE_FILTER works (LP: #1801856) * stress-dev: cache the scsi device names to reduce lookup overhead * stress-dev: remove debug cruft cache: turn macro MK_PATH to an inline'd static helper function * stress-dev: add SCSI device checking * stress-af-alg: handle ENOMEM failures on sendmsg (LP: #1801865) * stress-pty: handle EIO failures on opening /dev/ptmx * stress-loop: fix EBUSY error detection (LP: #1797544) * cache: optimize MK_PATH macro, remove double strlen call -- Colin King Fri, 9 Nov 2018 10:43:35 +0000 stress-ng (0.09.44-1) unstable; urgency=medium * Makefile: bump version * stress-dev: add HDIO_* ioctls * stress-file-ioctl: add FIBMAP ioctl to file * stress-dev: remove FIBMAP ioctl on device (LP: #1800609) * log: use snprintf instead of sprintf, it is safer -- Colin King Thu, 1 Nov 2018 11:45:01 +0000 stress-ng (0.09.43-1) unstable; urgency=medium * Makefile: bump version * stress-loop: check for specific loop ioctl commands * mounts: cater for minix requiring statbufs for mount information * stress-revio: ensure fiemap extent struct is zero'd (LP: #1798566) * Add autodetection of linux/futex.h * shim: revert back to checking if syscall is defined if calling via syscall() * test-pkey: also check if syscall is available * Add checks for linux/membarrier.h and membarrier system call * shim.c: update for KCMP and SYSLOG * Add HAVE_GETCPU getcpu system call check * test/test-fallocate: remove whitespace * Add HAVE_FALLOCATE fallocate system call check * Add HAVE_COPY_FILE_RANGE copy_file_range system call check * Add HAVE_SYNC_FILE_RANGE to Makefile.config * Add HAVE_SYNC_FILE_RANGE sync_file_range system call check * stress-apparmor: make another aa_kernel_interface_replace_policy failure an info message * Add autobuild detection for pkey family of system calls * stress-resources: use HAVE_USEFAULTFD check * Use HAVE_LINUX_USERFAULTFD_H and HAVE_USERFAULTFD checks * stress-apparmor: make aa_kernel_interface_replace_policy failure an info message * Use HAVE_SYS_EVENTFD_H and HAVE_EVENTFD checks * Add sys/eventfd header detection * Add HAVE_IOPRIO_{GET|SET}ATTR ioprio_{get|set}attr system call check * Add HAVE_KEYCTL keyctl system call check * Add HAVE_ADD_KEY add_key system call check * Add HAVE_REQUEST_KEY request_key system call check * stress-ng.h: re-order syscall checks alphabetically * Add HAVE_SCHED_{GET|SET}ATTR sched_{get|set}attr system call check * Add autobuild check and exercising of getdtablesize() * test/test-mremap: voidify newbuf to avoid cppcheck warning * test/test-ioport: return ret, fixes warning * stress-loop: clean up cppcheck warning on clr_loop not being used: * stress-kcmp: move slot to local scope * ignite-cpu: reduce scope of buffer and cpu * Add HAVE_KCMP kcmp system call check * Add HAVE_REMAP_FILE_PAGES check in Makefile.config * Add HAVE_SYSLOG syslog system call check * Add autobuild detection of remap_file_pages * Add HAVE_TGKILL tgkill system call check * Add HAVE_{SET|GET}_ROBUST_LIST {set|get}_robust_list system call check * Add HAVE_GETTID gettid system call check * Add HAVE_GETDENTS* check * Add autobuild detection of unshare * Add autobuild check for MLOCK2 * stress-revio: use shim_fdatasync * Abstract fdatasync with a shim * stress-getrandom: allow __APPLE__ as it provides getentropy * Add autobuild detection of sys/memfd.h * Add autobuild detection of memfd_create * stress-get: use HAVE_LOOKUP_DCOOKIE check * Add autobuild check for lookup_dcookie system call * Use the autobuild config HAVE_SENDMMSG check * Add autobuild detection of sendmmsg * Makefile.config: minor cleanups * Makefile.config: use more generic rules for checking * Makefile.config: use generic have_test_prog rule for asm nop test * Makefile.config: use generic have_test_prog rule for alignment build checks * Makefile.config: add and use generic have_test_prog rule * stress-ng.h: re-order shim_ function declarations * Add autoconfig check for execveat * Move shim_execveat to main shim source * README: Add Dilos to notes * Makefile: use standard grep for dilos * stress-sysbadaddr: make ro_page and rw_page void * rather than uint8_t * stress-sigsegv: clean up warnings on older gcc on solaris * stress-rmap: clean up warnings on older gcc on solaris * stress-mmapaddr: clean up warnings on older gcc on solaris * stress-vforkmany: cleans up warnings on older gcc on solaris * stress-memthrash: make mem void * rather than uint8_t * stress-madvise: make buf void * rather than uint8_t * stress-bad-altstack: make stack pointer void * rather than uint8_t * * stress-loop: add stress_loop_supported for non-linux platforms * cache: minor change to comment block * stress-loop: use HAVE_LINUX_LOOP_H build detection * Makefile.config: check for linux/loop.h * stress-loop: check for ioctl commands before using them * Add loopback stressor * stress-sysfs: work around race on TPM driver for Linux -- Colin King Thu, 18 Oct 2018 14:09:17 +0100 stress-ng (0.09.42-1) unstable; urgency=medium * Makefile: bump version * stress-quota: abort early if we get EPERM errors (LP: #1796248) * stress-get: fix check for HAVE_ADJTIMEX or HAVE_ADJTIME * stress-pthread: work around broken pthread join that returns ESRCH (LP: #1796249) * stress-chroot: check for EINVAL for Haiku * stress-link: disable link stressor for Haiku * stress-get: disable a couple of rlimit types for Haiku * stress-cpu: define expl as exp for Haiku as it's not yet defined * Update README, add Haiku notes * Makefile: add -lc for non-Haiku, and -lnetfork for Haiku * helper: fix warnings on systems where strsignal returns const char * * Add autodetection of nice * Add autodetection of setpriority, fall back to using nice if we don't have it * stress-get: only declare is_root when required for adjtime* functions * Add autodetection of adjtime * stress-get: don't declare array priorities if getpriority does not exist * Add automatic detection of getpriority * stress-fault: don't declare usage for Haiku * stress-fault: don't print ruseage stats for Haiku * stress-dev: disable for Haiku * Add more info to README file -- Colin King Fri, 5 Oct 2018 10:29:34 +0100 stress-ng (0.09.41-1) unstable; urgency=medium * Makefile: bump version * stress-dirdeep: clean up warning if O_DIRECTORY is not defined * stress-dir: clean up warning if O_DIRECTORY is not defined * stress-sysbadaddr: move ustat include to fix kfreeBSD build warnings * Manual: update date * Manual: update contributors list * Fixed thermal zone use after free bug in multi-process test. * thermal-zone: don't accumulate insane temperatures * stress-*: make sure structs are packed more efficiently * stress-dynlib: don't use if building a static image * stress-quota: keep if/else codestyle consistent * stress-sctp: break up declaration + assignment * stress-resources: add pkey alloc/free resource consumer * stress-numa: add in extra brackets to match coding style * stress-matrix: fix comment, not cpu stressor but matrix stressor * stress-kcmp: prefix kcmp consts with SHIM_ to avoid name clashes * syscalls.txt: add pkey_* and renameat* syscalls * stress-rename: use renameat2 system call if available * stress-rename: use renameat system call if available * Add autoconfig detection of renameat system call * Add autoconfig detection of renameat2 system call * Move pkey shims to shim.c * stress-pkey: add pkey memory protection thrash stress test * stress-enosys: add pket_get and pkey_set * stress-enosys: Add io_pgetevents * stress-enosys: add rseq system call * stress-dirdeep: add directory data sync'ing for more stress * stress-dir: add directory data sync'ing for more stress * stress-*: replace fsync with shim_fsync * Add shim helper for fsync, helps with no-op OS X fsync -- Colin King Wed, 26 Sep 2018 12:00:01 +0100 stress-ng (0.09.40-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * log: cast fractions of seconds to long * stress-get: move timex declarations to HAVE_ADJTIMEX block statement * Use HAVE_MREMAP check for mremap system call * Add autobuild test for mremap system call * stress-malloc: use HAVE_MALLOPT check for threshold variable * stress-malloc: use HAVE_MALLOPT check for mallopt glibc function * Add mallopt glibc function autodetection * stress-ioport: fix check on HAVE_IOPORT and not IOPORT * stress-ioport: use HAVE_IOPORT check for ioport system call * Add autobuild test for ioport system call * stress-inode-flags: build valid stressor if specific ioctl flags are defined * stress-get: use HAVE_PRLIMIT check for prlimit system call * Add autobuild test for prlimit system call * stress-get: use HAVE_ADJTIMEX check for adjtimex system call * Add autobuild test for adjtimex system call * stress-get: move locals to block statements * stress-sysbadaddr: use autodetection config for getresgid and getresuid calls * stress-get: use autodetection config for getresgid and getresuid calls * Add autobuild checks for getresgid and getresuid * README: update dependencies information * stress-sysfs: exercise each sysfs for a specific time or number of iterations * Add shim_usleep_interruptible, an interruptible usleep * stess-sysfs: exercise each sysfs file for a 1/25 of a second * stress-sysfs: improve draining control in threads * Add .gitignore * stress-sysfs: back off pthreads when kernel log spamming is detected * manual: fix typo: multiple -> multiply * stress-sysfs: close file if we have messages that needed draining * Add bad alternative stack stressor * stress-procfs: free directory entries, fixes memory leak * stress-dirdeep: free directory entries, fixes memory leak * stress-dev: free directory entries, fixes memory leak * stress-sysfs: free directory entries, fixes memory leak * stress-sysfs: skip over sysfs files that produce a lot of kernel spamming * Add more info in the README file -- Colin King Wed, 12 Sep 2018 17:11:11 +0100 stress-ng (0.09.39-1) unstable; urgency=medium * Makefile: bump version * stress-hdd: add yield points * stress-dev-shm: add an extra yield point * stress-bigheap: add an extra yield point * stress-af-alg: add more yield points * tests: fast-test-all: add timestamp to log output * stress-fiemap: wrap overly wide #if defined checks * stress-enosys: add address passing args * Replace loop variable i with j * Fix typo in comment 9 -> 0 * stress-zlib: add comment, remove two white spaces * stress-zlib: add zlib-level compression level and zlib rate stats * Add timestamp to log with --timestamp option * Add -pipe to CFLAGS, speeds up build by a few seconds * Makefile: remove -Wabi on pedantic builds * Replace int type with int32_t on loop counters * Rename macro argument lower_name to name * Manual: add Khem Raj to contributors name list * TODO: Add restartable sequencues * stress-chown: be less fussy about -EPERM failures * stress-get: ignore EINVAL on getgroups failures * stress-get: ignore EINVAL on getpriority failures * stress-af-alg: check for EBUSY bind failures * stress-stackmmap: simplify SEGV handling using a child process * stress-mmapfixed: don't be so verbose about SIGSEGVs on fixed mmaps * stress-sysfs: add check for some broken sysfs files -- Colin King Tue, 4 Sep 2018 11:36:21 +0100 stress-ng (0.09.38-1) unstable; urgency=medium * Makefile: bump version * Makefile: ensure fast-test-all and slow-test-all build with config * stress-fork: print correct fork/vfork name on an error * stress-fork: don't throw error on EAGAIN or ENOMEM (LP: #1788385) * stress-sysfs: add SEGV detection and abort * stress-funccall: make deep calls perform more stack work * stress-fiemap: remove blank line * stress-dir: rename d_reclen to d_namlen for DragonFly BSD * stress-dev: clean up overly wide function prototypes * stress-dccp: make loop iterator size_t * stress-mmap: move } outside #if #endif, fix *BSD build error * stress-chdir: remove blank line * stress-access: remove empty line * stress-ng: don't enable TARGET_CLONES for musl * stress-ng: don't exit a failure if no stressors are run when some are not supported * stress-dnotify: check if dnotify is supported by linux kernel * stress-access: make bool is_root const * stress-access: make struct fields const * stress-mmap: add hole punching to mmap'd file * ignite-cpu: remove extraneous debug * Manual: add note about using --timer-slack 0 for high freq timers -- Colin King Thu, 23 Aug 2018 16:54:53 +0100 stress-ng (0.09.37-1) unstable; urgency=medium * Makefile: bump version * snapcraft: add stage packages and build with hardening settings * stress-chown: cater for OpenBSD chown returning 0 and errno being set * stress-zlib: don't report write failure if errno == 0 * stress-fp-error: relax checking for pre glib 4.8 * Add voidifications on ignored function returns * ignite-cpu: set freq governor and restore settings at end * ignite-cpu: try and set max cpu frequency scaling setting * cache: add G size specifier * Makefile: check for GNU/kFreeBSD and set __FreeBSD_Kernel__ * stress-sysbadaddr: only use ustat if HAVE_USTAT is defined * stress-ng.h: rename statx_timestamp to shim_statx_timestamp -- Colin King Mon, 13 Aug 2018 13:58:57 +0100 stress-ng (0.09.36-1) unstable; urgency=medium * Makefile: bump version * stress-schedpolicy: ignore EINVAL on non-POSIX policies * mungify _ to - on stressor name before calling the stressor * stress-seek: disabled SEEK_HOLE and SEEK_DATA for OS X * stress-fp-error: relax checking on non-Linux systems * stress-schedpolicy: skip FIFO if sched_get_priority_min/max return -1 * stress-mknod: fix cut-n-paste error on struct stress_info_t * stress-fp-error: be less pedantic with errno checks on non-Linux systems * stress-mknod: disable this for non-Linux systems * stress-affinity: check that process can set CPU affinity * stress-access: remove AT_SYMLINK_NOFOLLOW, it is not needed * stress-vm-segv: remove some old commented out debug text * stress-vm-segv: retry on ENOMEM on fork * stress-vm-segv: make child process non-dumpable * test/test_modify_ldt: fail for no-x86 architectures * stress-cpu: compute geometric mean by split mantissa and exponent method * stress-fork: turn warnings off around vfork and not fork * stress-dentry: fall back to using fcntl if flock is not available * Turn off warnings around vfork calls * Makefile: "SunOS" should be SunOS and not quoted in if statement * Makefile: check for SunOS to use non-default grep for -e capability * stress-dentry: don't flock the entry if we don't have flock flags -- Colin King Thu, 2 Aug 2018 14:39:41 +0100 stress-ng (0.09.35-1) unstable; urgency=medium * Makefile: bump version * stress-file-ioctl: check size against stat buf size * stress-file-ioctl: remove redundant buffer * stress-file-ioctl: print differences in sizes on error of FIOQSIZE ioctl * stress-sysfs: use shim_ spinlock type rather than direct structure * perf: use shim_ spinlock rather than direct call * stress-procfs: use shim_ spinlock rather than direct call * stress-procfs: use shim_ spinlock rather than native call * stress-dev: use shim spinlock rather than native call * stress-dccp: skip stressor if DCCP protocol not supported * stress-af-alg: return EXIT_NOT_IMPLEMENTED if protocol is not supported * rename set_cpu_affinity to stress_set_cpu_affinity * Update comment relating to stressor names * Make stressor command options match 1-to-1 with info and function names * Re-work STRESSOR macro so that we don't need upper case name anymore * Make stressor names with OPT_ options match * Make stressor names with stressor #defines match * Add more comments and make index i a size_t * Add helper to mlock stress-ng into memory * stress-procfs: use copy of proc_path and set to empty string rather than NULL * stress-dev: use copy of dev_path and set to empty string rather than NULL * stress-sysfs: copy sysfs_path while locked into path * stress-sysfs: don't nullify sysfs_path, set it to empty string and lock it * stress-personality: don't verify personality setting, it does not work * stress-sysfd: temporarily disable read access fstat error * rename snapcraft directory to snap -- Colin King Fri, 20 Jul 2018 12:19:44 +0100 stress-ng (0.09.34-1) unstable; urgency=medium * Makefile: bump version * Ensure all fail log messages set the error to EXIT_FAILURE * Manual: update contributors list * stress-opcode: make child process non-dumpable * Add bcd and utf8 zlib data methods to manual * stress-zlib: add 8 bit UTF-8 data stream * stress-zlib: put BCD data as bytes not 32 bit words * stress-zlib: add bcd data mode -- Colin King Mon, 16 Jul 2018 23:50:22 +0100 stress-ng (0.09.33-1) unstable; urgency=medium * Makefile: bump version * stress-pty: make open failure on ENOMEM non-fatal * stress-sockpair: handle EPERM error on read gracefully * stress-quota: don't count a pass as a failure * stress-quota: add some ESRCH failure debug info * stress-quota: don't fail if file system does not enable quota * stress-socket: don't make ECONNRESET on recv fatal * stress-spawn: skip if run as root * stress-spawn: fix comment * stress-vm: only declare stress_set_vm_flags if it is required * cache: remove unused function get_cache_name * stress-iomix: only declare stress_iomix_inode_ioctl when it is required * stress-sleep: remove sleep-max-adjustment handler * stress-pthread: remove pthread-max-adjustment handler * stress-unshare: only declare check_unshare when it is really required * stress-file-ioctl: only declare check_flag when it is really required * stress-dev: declare ret only for when it is used * stress-chroot: sanity check for ENOENT as a false positive * Add a slow-test-all make rule to perform more exhaustive testing * stress-dentry: remove redundant args argument * Add ptrace build autodetection * Update copyright year to 2018 in some odd files * Remove trailing space and tabs from end of lines * ignite-cpu: set process name to stress-ng-ignite * thrash: use the pagein method of forcing pages back into memory * thrash: add ksm memory merging (Linux only) * thrash: add kernel memory compaction (Linux only) * stress-dentry: add some misc operations on a directory fd * stress-dentry: add lookup failures to exercise directory searching * Add a watchdog stressor * stress-kill: add some early delay to give parent time to spawn stressors * stress-rtc: add select on RTC device * stress-netlink-proc: fix build with kernel v3.9 * stress-context: rename uc_link to uctx_link -- Colin King Thu, 5 Jul 2018 16:46:12 +0100 stress-ng (0.09.32-1) unstable; urgency=medium * Makefile: bump version * Makefile: add .travis.yml to make dist rule * stress-dev-shm: reduce scope of variable ret * stress-fstat: add yield point to get lower-latency in stopping * stress-dev-shm: handle interrupted wait to fix utime accounting * stress-dev-shm: use shim_fallocate for older kernels that don't support it * stress-pthread: don't block threads from SIGALRM for DragonFly BSD * stress-pthread: don't block threads from SIGALRM for OS X * stress-fstat: don't block threads from SIGALRM for OS X * stress-dev: skip devices that are not standard chr or blk devices * Check for chr or blk device using S_ISCHR/S_ISBLK * Fall back to mutexes instead of spinlocks for OpenBSD * stress-iomix: make kill and wait into two phases * stress-msg: add extra yield points for prompt death of children * stress-msg: add yielding to boost performance and help NetBSD * shim: make FreeBSD use the emulated fallocate for the moment * stress-zlib: constify data, cleans up clobbering warning * stress-dev-shm: close fd on exit * stress-sigpipe: move declaration of sigpipe_count * Add /dev/shm memory stressor * stress-dev: remove duplicated BLKSSZGET ioctl * stress-cyclic: reformat table contents * stress-clock: add 4.17 CLOCK_MONOTONIC_ACTIVE clock * stress-mmapfixed: add new 4.17 MAP_FIXED_NOREPLACE flag * stress-matrix: only print matrix method on first stressor instance * stress-matrix: add more yield points for snappier exits * stress-socket-fd: remove debug message * stress-socket-fd: add more yield points on fd recv and closing * stress-sctp: handle failures more gracefully, retry rather than abort * stress-cpu: Add LIKELY hint on callfunc stressor, speeds up by ~0.8% * stress-cpu: optimize primes a little further * Add UNLIKELY hint on sqrt stressor, speeds up by ~3% * stress-cpu: add UNLIKELY hint on hanoi zero depth * stress-ng: call free_settings to fix memory leak on process exits * cache: fix removed assignment to cpu count and make buffer larger * cache: use sizeof types to fix segfault * helper: put PRAGMAs around function rather inside function * Use trusty dist in travis * Force disabling of warnings on older versions of gcc * Add travis build yaml * stress-ng: rename abort to do_abort to avoid shadowing of global function abort * stress-zlib: rename rand to rnd to avoid shadowing with global function rand * stress-zlib: rename index to idx to avoid shadowing with global function index * stress-utime: rename times to timevals to avoid shadowing with global function times * stress-sigpending: rename sigset to _sigset to avoid shadowing of global sigset * stress-rtc: rename alarm to wake_alarm to avoid shadowing with function alarm * stress-rawdev: rename function shift to shift_ul * stress-link: remove need for symlink argument * rename acct to account to avoid shadowing with function acct * stress-fanotify: rename mount to mnt to avoid shadowing with function mount * rename times to timespec to avoid shadowing with global function times * stress-dev: rename stat to vt_stat to avoid shadowing with function stat * stress-cpu: rename gamma to _gamma to fix shadowing with function gamma * stress-context: rename link to uc_link to avoid shadowing with function link * stress-branch: rename index to _index inside macro to avoid global shadowing * Rename mount to mnt to ensure we don't shadow global function mount -- Colin King Wed, 27 jun 2018 19:12:17 +0100 stress-ng (0.09.31-1) unstable; urgency=medium * Makefile: bump version * cache: fix out of bounds access and potential null pointer dereferences * cache: fix various warnings when building with gcc-8.1.1 * stress-memfd: fix build warning on whence not being used * Makefile.config: add detection for APPARMOR_PARSER failures * perf: Add some more SW perf events * Makefile: fix perf HW events, need to pick up $(CFLAGS) * stress-matrix: add a square product matrix method * Ensure apparmor binary data is removed * Add extra sanity checking for apparmor builds * stress-mmapaddr: use correct signal handler * Re-order message queue stressor, it's not in the correct place * stress-timerfd: reduce scope of buffer * stress-efivar: reduce scope of varname and guid_str * stress-chdir: remove hard coded chdir_dirs setting * stress-rmap: child should _exit rather than return on error * stress-zlib: add a zero block data method * stress-sigfpe: just clear siginfo.si_code field * stress-sigfpe: use assignment rather than memset to zero siginfo * stress-timerfd: remove shadowed declaration of ret * stress-sigfpe: remove shadowed declaration of ret * Don't exit child sub-processes with exit() (LP: #1777564) * stress-inotify: fix various gcc-8 warnings * stress-sysbadaddr: pass non-aliased addresses to system calls * stress-filename: clean up gcc 8.1 warning * stress-fanotify: clean up gcc warning * Clean up gcc-8 warning by making filename 5 chars smaller -- Colin King Thu, 21 jun 2018 14:38:18 +0100 stress-ng (0.09.30-1) unstable; urgency=medium * Makefile: bump version * stress-socket: fix build warning if FIONREAD is not defined * Add sanity check that child stressor processes are not calling exit() * stress-sigio: don't exit in sighandler; return back normally * stress-utime: fix failing utimes and futimens calls * stress-memcpy: fix clobbering of stats data when copying b_str * stress-shm: perform extra file operations on shm file descriptor * Add new real time signal stressor, sigrt * stress-sigsegv: add some verification checking * stress-access: voidify return from umask * stress-splice: remove variable bytes, replace with ret * stress-apparmor: add a few more yield points * stress-fifo: retry on select timeout rather than terminate -- Colin King Fri, 15 jun 2018 16:52:25 +0100 stress-ng (0.09.29-1) unstable; urgency=medium * Makefile: bump version * Manual: fix spelling mistakes and update date * stress-sigfpe: remove need for fp_zero * stress-sigfpe: cater for systems without SA_SIGINFO * stress-socket: fix warning on unused variable ret * stress-sigfpe: remove feenableexcept, it is extraneous * stress-sigfpe: fix verify mode, match exception with error code * stress-sigfpe: zero siginfo struct * stress-apparmor: kill child processes aggressively * stress-sigfpe: reset fp exception states to fix math issues * stress-apparmor: add more yield point checking * Makefile.config: move pthread library to end to fix static linking issues * Fix typo in manual, --mmapfixedA-ops -> --mmapfixed-ops * stress-sigfpe: force more fpe exceptions, exercise handler more * stress-socket: use TCP_QUICKACK if available * stress-socket: add FIONREAD size peeking * stress-userfaultfd: exercise /proc/$pid/fdinfo/$timerfd proc file * stress-timerfd: exercise /proc/$pid/fdinfo/$timerfd proc file * Rename g_terminate_signum to terminate_signum and make it static * Renaming symbols to indicate they are used in process termination * Remove some unused old struct typedefs * Make some functions static * Deconstify some const pointers (ughh) * Add deconstifier helper. * remove redundant and shadowing variable ret * stress-dccp: add missing , * Move the class info into the stressor_info_t for each stressor * Rename class_t to class_info_t * stress-cpu: fix bitops checksum * stress-access: fix build warning on Solaris with %o on mode_t * stress-memthrash: restore accidentally removed function stress_set_memthrash_method * stress-mergesort: fix missing { * affinity: fix prototype of set_cpu_affinity * stress-cyclic: fix build warning on non-linux systems * Point to stress_not_implemented rather than wrapping each time * Add stressor_info_t for stress specific info * Clean up optarg handling, make it more table driven * Revert Add pr_* logging sleepy locks (LP: #1774571) * Add pr_* logging sleepy locks -- Colin King Fri, 8 jun 2018 11:30:00 +0100 stress-ng (0.09.28-1) unstable; urgency=medium * Makefile: bump version * stress-zlib: rename variable i to j to fix variable shadowing warning * stress-prctl: make function stress_prctl_child static * stress-fanotify: remove shadow'd declaration of ret * stress-access: remove redundant declaration of ret * stress-sysbaddaddr: fix indenting * stress-flock: fix indenting * stress-enosys: fix indenting * test/test-modify-ldt: return ret to stop clang warning * test/test-pselect: make rfds, wfds static, stop clang warnings * stress-clone: put statements of if block in { } * stress-shm-sysv: voidify return from shmctl call * stress-prctl: voidify return from prctl system call * stress-clone: voidify return from modify_ldt system call * stress-iomix: fix early termination due to incorrect bogo ops comparison * Manual: update thread information for memthrash stressor * stress-memthrash: add warning and hint about sub-optimal stressor choice * stress-af-alg: fix errno = ENOENT assignment, should be == comparison * stress-set: add autodetect for setregid, setresgid, setresuid, setreuid * stress-af-alg: skip over ciphers that may not exist * stress-af-alg: make ENOKEY a non-critical failure * stress-af-alg: forgot to add in \n * stress-af-alg: expand error message to capture more information * stress-shm-sysv: add exercising for SHM_SET for linux only * stress-shm-sysv: add SHM_LOCK/SHM_UNLOCK commands * stress-mq: POSIX mq on linux allows one to read MQ status, add this * stress-af-alg: add crc32c * syscalls.txt: update swapon/swapoff info * stress-hsearch: fix spelling mistake in comment * syscalls: update statx and umount system calls * stress-chown: add lchown system call * stress-xattr: exercise the filename based xattr system calls * stress-pthread: use tgkill and gettid system calls * syscalls: mark tkill as obsolete * syscalls: ignore ugetrlimit * stress-hdd: use truncate as well as the ftruncate * syscalls: add update to setsid * stress-set: add setsid call * stress-efivar: fix error return in efi_get_variable * split mlocked region into mlocked text segment and mlocked data segment * stress-ng.h: add empty macro definitions for ALIGNED and SECTION * stress-efivar: add ioctl and fstat exercising on efivar fd's * test/test-setpgid: don't pass -ve args * stress-set: voidify returns to discard warnings * Add set stressor -- Colin King Fri, 25 May 2018 16:18:12 +0100 stress-ng (0.09.27-1) unstable; urgency=medium * Makefile: bump version * Remove empty end lines from debian/control, debian/changelog * stress-filename: set rc to EXIT_SUCCESS if we get a timeout on again loop * stress-chdir: only use O_DIRECTORY if it is supported * stress-xattr: remove need to #include * stress-utime: only declare ts when required * stress-utime: don't use UTIME_NOW or UTIME_OMIT if they are not defined * stress-pthread: exercise set_robust_list linux system call * stress-zlib: fix parity data generator * Add build-time check for faccessat * Add new access/faccessat stressor * stress-zlib: reorder rand_data_funcs and add in missing funcs * stress-zlib: Add sweep sin wave double prevision data * Add parity bit data zlib method * stress-cpu: fix parity sum check * syscalls.txt: fix up utimensat * stress-utime: add utimensat system call * Add build check for utimensat * stress-efivar: keep track of bad efivars and don't re-read them * stress-ng.h: forgot to include when HAVE_MODIFY_LDT is defined * Update modify_ldt syscall * stress-clone: add modify_ldt call * Add build time check for modify_ldt * Update syscall.txt with latest syscall additions * stress-pthread: exercise setns() * stress-clone: exercise setns() * Add build time check for setns * syscalls.c: add fchdir * stress-chdir: add fchdir syscall * stress-zlib: add pink noise data generation method * stress-bind-mount: don't clone signal handlers in clone child * stress-bind-bound: respawn process to handle limit on bind mounts * Add a EFI variable reading stressor * Add prctl stressor * stress-ng.h: don't allow both HAVE_SYS_XATTR_H and HAVE_ATTR_XATTR_H * Forgot to commit changes to Makefile.config * xattr: autodetect for different xattr paths attr/xattr.h and sys/xattr.h * stress-dev: add BLKSECTGET ioctl -- Colin King Mon, 14 May 2018 14:31:12 +0100 stress-ng (0.09.26-1) unstable; urgency=medium * Makefile: bump version * Remove TARGET_CLONES on some functions that break on gcc 7.2 on kFreeBSD * Use nanosleep where possible for usleep, add nanosleep check * stress-dev: move wfds to select local scope to fix NetBSD warning * stress-dev: NetBSD hangs on select on some devices, so disable this * stress-dev: pass child failure status to parent * stress-dev: fix warning on char being passed to isdigit on NetBSD * stress-dev: NetBSD uses different sorting prototype * stress-sigio: don't do fcntl F_SETOWN for minix, it always fails * stress-sigio: fix hang in *BSD systems when we SIGALRM not handled * stress-sigio: exit in sighandler to force earlier termination * stress-sigio: add yield points to break out of heavy looping * shim: cater for systems that don't have mlock * stress-utime: check HAVE_FUTIMENS for declaration of ts * test/test-mq-posix: mq_* is defined but not implemented on kfreeBSD * test/test-syncfs: syncfs is defined but not implemented on kfreeBSD * stress-dirdeep: use HAVE_FUTIMENS * Makefile.comfig: fix typo in funtimens * test/test-futimens: check also for UTIME_NOW and UTIME_OMIT * Add build time check for futimens * test/test-dup3: trigger failure with FreeBSD kernel * stress-zlib: fix longjmp clobber warnings on data * stress-revio: make alloc_buf void * to avoid type punning warnings on gcc 3.4.3 * stress-hdd: make alloc_buf void * to avoid type punning warnings on gcc 3.4.3 * Add shim wrapper for mlock for Solaris compat reasons * stress-fanotify: peek into number of bytes to be read with FIONREAD * stress-crypt: include if on Solaris * stress-enosys: avoid warning on unused procs on Solaris * stress-sysbadaddr.c: avoid warning on unused procs on Solaris * stress-sysbadaddr.c: include termios.h for TCGETS * stress-vm-segv: remove debug, it is spamming the output * stress-sysbadaddr: don't use ustat if it is not defined * stress-sysbadaddr: ensure we have PTRACE_GETREGS defined * Workaround failing pthread spinlock on DragonFly BSD * stress-dev: add /dev/null nop to have at least one item in table * stress-wait: use HAVE_WAITID to check for waitid() call * stress-sysbadaddr + Makefile.config: Add HAVE_WAITID check * stress-sysbadaddr: fix conditional build on bad_clock_gettime * stress-sysbadaddr: use mincore shim to fix build on GNU/Hurd * stress-sysbadaddr: ensure TCGETS is defined * stress-file-ioctl: fix a file handle leak * Add sysbadaddr stressor to exercise system call bad address handling * stress-mmap: use new MAP_FIXED_NOREPLACE flag introduced in 4.17 * stress-clock: add CLOCK_MONOTONIC_ACTIVE that was added to Linux 4.17 * stress-oom-pipe: Explicitly drop capabilities to make root spawned processes more OOMable * Explicitly drop capabilities to make root spawned processes more OOMable * helper: remove some blank lines * stress-dev: add linux stress for /dev/{mem|kmem|port|kmsg} * stress-vm-segv: don't assume max size of size_t * stress-vm-segv: ensure we force SEGVs by invalidating I$ cache * Add --vm-segv option to force SEGVs on unmapping * stress-fork: make it more OOMable * stress-clone: make clone'd procs OOMable * make main process less likely to be OOM-able * snapcraft: add libsctp-dev * stress-tree: rename BSD trees to fix build error on OpenBSD 6.3 -- Colin King Fri, 27 Apr 2018 15:59:11 +0100 stress-ng (0.09.25-1) unstable; urgency=medium * Makefile: bump version * stress-ng: don't enable TARGET_CLONES for kFreeBSD (LP: #1765050) * stress-enosys: avoid calling vhangup with upper bits set (LP: #1757967) -- Colin King Wed, 18 Apr 2018 15:25:51 +0100 stress-ng (0.09.24-1) unstable; urgency=medium * Makefile: bump version * Misc small fixes detected by static analysis (LP: #1762848) * stress-fcntl: use | rather than |= to get new_flags * stress-tmpfs: clear mnts and check if mnts[i] is null * stress-sync-file: fix incorrect placement of break statement * stress-af-alkg: check for more NULL cmsg pointers * stress-pipe: ensure no uninitialized data is written to pipe * stress-fcntl: use | rather than |= to get new_flags * test/test-posix-memalign.c: free allocated buffer * test/test-fanotify.c: free buffer * stress-mmapfailed: check for null return from mremap * stress-af-alkg: check for NULL cmsg * stress-resources: don't open on a null slavename * stress-sysinfo: ensure mnts array is zero'd * stress-cpu: make loop index in jenkin func size_t to fix overflow * stress-vm: don't loop forever in child sleep loop * ignite-cpu: don't wait for parent to kill loop, add timeout check too * Double number of stressor processes up to 8192 * Add stream-index indexing option * Make some settings global to fix args confustion -- Colin King Wed, 11 Apr 2018 09:58:44 +0100 stress-ng (0.09.23-1) unstable; urgency=medium * Makefile: bump version * cache: revert using shim_str* funcs (LP: #1759515) Using the shim_* str functions breaks the cache globbing paths, so for now, revert these. -- Colin King Wed, 28 Mar 2018 10:40:10 +0100 stress-ng (0.09.22-1) unstable; urgency=medium * Makefile: bump version * stress-mmap: add extra checking on fd, don't do I/O on -ve fd * out-of-memory: ensure buffer is null-terminated * out-of-memory: move non-linux variant of process_oomed * out-of-memory: detect if a stressor was killed by the OOM killer and don't mark it as a strict stressor failure (LP: #1755245) * stress-mmap: add missing I/O to/from mmap'd buffer on mmap'd address * stress-ng.h: fix missing perf option (LP: #1758383) -- Colin King Fri, 23 Mar 2018 16:44:47 +0000 stress-ng (0.09.21-1) unstable; urgency=medium * Makefile: bump version * stress-dir: clean up warning on args on DragonFly build * stress-dir: skip the sanitycheck on DragonFly BSD * stress-rawdev: reduce the scope of 'ret' * stress-mmapaddr: reduce the scope of 'ret' * stress-mcontend: reduce the scope of variable 'cpu' * stress-matrix: remove redundant initialization of a to NULL * stress-filename: reduce scope of variable d * stress-enosys: declare variable lim when only required * stress-dev: make 'ret' local to ioctl test block scope * Makefile.config: fix epoll_create build checking * stress-ioprio: check for systems that don't support pwritev * shim: overlooked another fallocate glibc call to fixup * shim: use syscall to call fallocate, older glibc may not support it * perf: cater for systems that don't support linux/perf_event.h * stress-urandom: workaround __u32 definitions in pre-2.6.29 kernels * stress-epoll: detect if epoll_create1 exists * stress-netlink-proc: don't use PROC_EVENT_SID in kernels earlier than 2.6.31 * Add detection for linux/fiemap.h * test/test-librt.c: reorder functions in alphabetical order * stress-dirdeep: use shim_strlcat instead of strlcat * Replace strncat with safer strlcat * Add shim version of strlcat * Replace strncpy with safer strlcpy * Add shim and implementation of shim_strlcpy() * stress-dev: ensure we don't have a non-null terminated filename * stress-dev: don't sync on fd when open failed * stress-ng.h: check for spin lock failure * stress-dev: add #ifdef around stress_dev_tty * stress-dev: add #ifdef around struct termios tios declaration * stress-dev: remove gettid, only used during debug on linux * stress-dev: remove debug * stress-dev: randomly mix up device path scanning, limit to max 3 of same device * stress-dev: add missing /dev/random ioctl handling * stress-dev: add some Linux SCSI ioctls for block devices * stress-file-ioctl: fix missing #if / #endif around shim_fallocate * stress-procfs: mix up path name order to get a better spread * stress-sysfs: mix up path name order to get a better spread * stress-xattr: add missing setxattr and lsetxattr system calls * stress-utime: add NULL utimes time and non-nul utime parameters * stress-dir: add missing readdir() exercising * stress-file-ioctl: add missing FIDEDUPERANGE ioctl * stress-file-ioctl: exercise FS_IOC_RESVSP64 * stress-fcntl: ensure F_OWNER_GID is being exercised * stress-get: add Linux lookup_dcookie call * stress-dev: exercise tty ioctls on devices * stress-file-ioctl: disable FIFREEZE/FITHAW filesystem ioctls * test/test-ustat.c: ustat will fail on __arch64__, so don't enable it * stress-enosys: add extra paranoid check on reboot syscall check * stress-enosys: ensure all known syscalls are added to hash table (LP: #1755358) * Makefile.config: add -Wextra build check on ustat -- Colin King Wed, 21 Mar 2018 12:59:58 +0000 stress-ng (0.09.20-1) unstable; urgency=medium * Makefile: bump version * stress-procfs: remove debug (LP: #1755552) * stress-madvise: fix build issue for HPPA (LP: #1755551) * stress-dev: add missing FIBMAP to block dev stressor * Fix missing stressors in mini-help and re-order some * Remove duplicated "futex" stressor from stressor table -- Colin King Tue, 13 Mar 2018 17:58:49 +0000 stress-ng (0.09.19-1) unstable; urgency=medium * Makefile: bump version * stress-cyclic: fix typo in time measurement, us should be ns * stress-enosys: add checks on RLIMIT_* macros * bump target_clones attribute to gcc 5.5 * stress-mcontend: don't msync if it is not available * Disable target_clones attribute on GNU_HURD * stress-procfs: make stressor more stressful, less thread spawning * stress-enosys: wider sanity checks for fork/vfork/cloning (LP:#1753705) * Forgot to add test/test-personality.c * stress-enosys: try to limit fork run-away (LP:#1753705) * Add personality autoconfiguration detection * stress-mcontend: fix non-Linux build * stress-cpu: fix clang build error * Add new mcontend memory contention stressor * stress-af-algo: add a couple more crypto module tests * Add GCC-5 target_clones attribute * stressors: use the new cpu_is_x86 helper * Add cpu.c and cpu_is_x86 cpu detection helper -- Colin King Mon, 12 Mar 2018 10:30:58 +0000 stress-ng (0.09.18-1) unstable; urgency=medium * Makefile: bump version * stress-sysfs: sysfs_path does not need to be marked as volatile * stress-flock: make function stress_flock_child static * stress-dev: pass thread data using pthread_args_t context * stress-dev: rename ret to wret to fix variable shadowing * stress-seal: don't redefine MFD_ALLOW_SEALING * test/test-ustat: fail for GNU/HURD, it is not implemented * helper: use sz only in scope that requires it * stress-fcntl: fix build error in do_fcntl * Pass SHIM_PTHREAD_PROCESS_SHARED rather than 0 as flags arg to shim spin lock init * stress-dev: Fix compat shim build warnings on OS X * stress-dev: use abstracted pthread spinlock for portability sake * syscalls.txt: add getpagesize * stress-get: use getpagesize if it is available * helper: use getpagesize() for legacy systems without sysconf * Add automatic build getpagesize detection * stress-exec: where possible, use execveat() as well as execve() * syscalls.txt: add epoll_create and epoll_pwait to syscall table * stress-epoll: use epoll_create and epoll_pwait to get more coverage * stress-sock: use accept4 to add more system call coverage * stress-dev: add some block specific ioctls * stress-dev: add more seeking and shared memory mapping * syscalls: add ustat * stress-sysinfo: add legacy ustat() system call * Update syscalls log * stress-poll: add ppoll and pselect calls to add more stress coverage * stress-dev: make stressor more stressful, less thread spawning * stress-sysfs: only stress sysfs if spinlock succeeded and bump counter * stress-sysfs: remove redundant null check on path * stress-sys: make stressor more stressful, less thread spawning -- Colin King Wed, 28 Feb 2018 16:26:38 +0000 stress-ng (0.09.17-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-rawdev: make some functions static * stress-funcall: fix -Wmissing-declarations warning message * stress-file-ioctl: remove extraneous shadowed variable 'ret' * stress-madvise: make ret non-clobberable for gcc 4.2.1 * Add minimum GCC version for Pragma push/pop * shim: older gcc required pragmas outside of functions * stress-enosys: older gcc required pragmas outside of functions * Check for clang version when using pragmas * stress-file-ioctl: remove debug printf * Add new file-ioctl stressor * shim: disable warnings for brk and sbrk for OS X * Swap ordering on compiler detection on pragmas * stress-enosys: turn off warning on syscall, cleans up OS X warning * Add no warning pragma macros * Makefile: force sync after build in case reboot loses executable * stress-enosys: add syscall7 shim * stress-dirdeep: only print info message on instance #0 * stress-enosys: wrap with OOM catcher (LP: #1750787) * stress-dev: add bug reference to hpet failure * stress-enosys: exercise more arguments in syscall * Manual: udp-lite should be for ipv6 as well as ipv4 * Manual: update arch specific limitations on lockbus and memthrash stressors * Return EXIT_NOT_IMPLEMENTED when system call returns ENOSYS * stress-userfaultfd: don't fail with an error if ENOSYS is returned * stress-membarrier: don't fail with an error if ENOSYS is returned * stress-getrandom: don't fail with an error if ENOSYS is returned * helper: make zero more obscure so that optimizer won't optimize zero out * stress-filename: remove shadowed redundant variable ret * Makefile: build perf-event with $(CC) rather gcc * stress-wcstr: fix warning on systems without wcs functions * job: make fp non-clobberable, cleans up build warning on gcc 4.8.4 * stress-softlock: clean up clobbering warning on gcc 4.9.2 * mwc: add more information into the reseed mix * stress-filename: don't closedir on a NULL dir pointer * Move LIB_DL headers to stress-ng.h * stress-dynlib: try to read the function memory to force page fault * Manual: fix enosys-ops entry, missing e from enosys-ops * Add new dynlib shared library dynamic loading stressor * stress-tree: make nodes align naturally with padding * stress-tree: move data to start of struct, ensures natural alignment * stress-tree: clean splay nodes at removal time * stress-tree: ensure splay tree data is cleared * stress-exec: drop all capabilities before exec'ing * stack-mmap: add MAP_STACK flag -- Colin King Thu, 22 Feb 2018 14:04:11 +0000 stress-ng (0.09.16-1) unstable; urgency=medium * Makefile: bump version * Silence a build warning on %d for g_pgrp, cast to int * Use the new is_dot_filename() helper * Add is_dot_filename helper function to check for "." or ".." filenames * stress-filename: clean up temporary files on forced termination * stress-handle: catch any SIGKILL signals and report back * stress-filename: catch any SIGKILL signals and report back * Print process ID in [ ] braces * Add debug to inform us when stress-ng kills process group with SIGKILL * Makefile: make build output less noisy and cluttered * helper: add in compiler major minor info * stress-vecmath: don't built with clang less than version 5.0 -- Colin King Thu, 15 Feb 2018 17:41:32 +0000 stress-ng (0.09.15-1) unstable; urgency=medium * Makefile: bump version * debian/copyright: fix insecure debian copyright URL * debian/compat: update to 11 * debian/control: update debhelper to >= 11 * stress-bind-mount: ensure we have clone support with HAVE_CLONE check, fixes another FTBFS in ia64 * stress-wait: remove empty line * Rename array and type unsupported to supported * stress-flock: Add more flock lock types, add more stressing children -- Colin King Sat, 3 Feb 2018 15:02:11 +0000 stress-ng (0.09.14-1) unstable; urgency=medium * Makefile: bump version * stress-sigpipe: reduce scope of int ret * stress-wcsstr: sanity check to see if there are any wcs* functions * Add full wide char function autodetection * stress-chown: workaround a NetBSD hang on usleep * stress-chmod: workaround a NetBSD hang on usleep * stress-cpu: add __fp16 float16 support (ARM) * test/test-float: ensure test code is not overly optimized out * test/test-float.c: ensure build options are same as stress-cpu.c * Generalize float type config tests * stress-cpu: Add float32, float80 and float128 support * stress-ng: add some alignment tweaks to naturally align fields * Add a new vm-addr virtual memory address stressor * README: update number of stressors * stress-funccall: make functions non-static, force less optimization * stress-vm: add UNLIKELY annotations to improve performance * stress-procfs: don't write using a NULL badbuf * Add sigpipe stressor * Add bad write buffer to procfs write * stress-procfs: do proc writes only if proc_write is true * stress-vm-rw: fix build failure on ia64 with missing HAVE_CLONE -- Colin King Tue, 30 Jan 2018 13:17:21 +0000 stress-ng (0.09.13-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * Makefile.config: reorder detection, no major change * stress-userfault: add missing check for HAVE_CLONE, should fix FTBFS for ia64 arch * Rename stress_hdd_opts to stress_set_hdd_opts * Rename stress_filename_opts to stress_set_filename_opts * stress-matrix: make a couple of functions static * stress-enosys: fix variable shadowing warning * Add HAVE_SYSCALL_H detection and try to get more syscall coverage * stress-enosys: add an a complete set of known syscalls to skip * stress-enosys: make index ssize_t, fixes GNU/HURD build warning * Ensure skip syscall array is at least 1 element * Add a new enosys system call stressor * test/test-notify: add sanity check on message length * stress-cyclic: cast longs to int64_t before multiply to fix overflow * stress-funccall: add arg swapped recursion to calls * stress-funccall: add large data structure passing * stress-vecmath: vectorize constants, make them const too -- Colin King Thu, 25 Jan 2018 16:45:43 +0000 stress-ng (0.09.12-1) unstable; urgency=medium * Makefile: bump version * stress-clone: fix build issue on systems without the clone system call * test/test-getmntent: remove unused variable 'n' * stress-revio: fix build warning on OS X builds * stress-swap: use mwc1() for single bit random value * stress-shm: use mwc1() for single bit random value * stress-shm-sysv: use mwc1() for single bit random value * stress-schedpolicy: use mwc1() for single bit random value * stress-key: use mwc1() for single bit random value * stress-iomix: use mwc1() for single bit random value * stress-dup: use mwc1() for single bit random value * stress-aio: use mwc1() for single bit random value * stress-madvise: add in new MADV options (Linux + BSD) * stress-membarrier: add in new membarrier commands to enum * Add fixed mmaping stressor, mmap-fixed * stress-fcntl: add F_GET_RW_HINT/F_SET_RW_HINT fcntl controls * stress-branch: optimization, remove a ! operator and align jmp table * stress-dev: add some extra per-device ioctl exercising * Makefile.config: generalize header detection * stress-madvise: perform random file or anonymous mapping for MADV_FREE * Add 1 bit mwc function * stress-madvise: add MADV_KEEPONFORK advise flag * Add reverse I/O stressor: revio -- Colin King Mon, 22 Jan 2018 16:33:39 +0000 stress-ng (0.09.11-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-sigio: don't build if missing various core functionality * stress-sigio: remove sigprocmask, this is not used now * Makefile: forgot to add the new stress-sigio stressor * Add new sigio asynchronous I/O SIGIO stressor * Add clone glibc wrapper autodetection, fixes ia64 builds * Manual: remove excessive misplaced escape chars -- Colin King Wed, 17 Jan 2018 17:01:02 +0000 stress-ng (0.09.10-1) unstable; urgency=medium * Makefile: bump version * stress-tlb-shootdown: ensure proc_mask is zero'd before use * Makefile.config: make fdatasync test fail if prototype is different * stress-rawdev: fix warning on non-linux builds * Manual: add another contributor to the manual * stress-unshare: throttle back when resources are getting low * stress-rawdev: make min/max block size #define values * stress-rawdev: ensure blksize cannot be less than 512 bytes * stress-rawdev: don't allow insanely sized block sizes * stress-rawdev: add a keep stressing check inside wiggle 2nd loop * stress-rawdev: ensure shifted values are never zero * stress-rawdev: use correct type for reading block size * stress-resources: ensure we don't have too many resource forks * stress-resources: try hard not to get too many OOMs * stress-dev: disable /dev/hpet testing when running as root * debian/control: skip requirement of libkeyutils-dev for ia64 * stress-matrix: fix broken xy vs yx matrix method selection * stress-vm: remove a duplicated check addr == ptr * stress-filename: compare to zero rather than <= 0 * stress-fcntl.c: fix syntax errors * Update copyright year -- Colin King Fri, 12 Jan 2018 13:47:57 +0000 stress-ng (0.09.09-1) unstable; urgency=medium * Makefile: bump version * stress-tlb-shootdown: only kill legitimate pids * stress-tlb-shootdown: make child processes more OOM-able * stress-rawdev: replace some spaces with tab for indentation * stress-ng.1: fix table for rawdev-method option -- Colin King Thu, 4 Jan 2018 01:37:11 +0000 stress-ng (0.09.08-1) unstable; urgency=medium * Makefile: bump version * Makefile.config: remove need for LIBBSD for wchar.h path detection * stress-rawdev: fix linking failure on non linux systems * Add wchar.h and bsd/wchar.h path detection, makes stress-ng.h cleaner * Add rawdev raw device read stressor * stress-vecmath: use uint128_put for 128 bit integer * Move ALIGNED and SECTION macros to stress-ng.h * Add OPTIMIZE0 level zero optimization hint macro * stress-socket-diag: remove some consts, cleans up clang warnings * Use the FORMAT macro for some printf style functions * stress-vm: fix warning when building with PEDANTIC=1 * stress-tlb-shootdown: fix unterminated comment * stress-timer: fix warning when building with PEDANTIC=1 * stress-itimer: fix warning when building with PEDANTIC=1 * stress-funccall: clean up warnings when building with PEDANTIC=1 * stress-physpage: only close an opened fd_pc file descriptor * stress-tlb: fix incorrect affinity on cores -- Colin King Sun, 31 Dec 2017 17:18:23 +0000 stress-ng (0.09.07-1) unstable; urgency=medium * Makefile: bump version * Makefile: add stress-version.h to make dist rules * test: clean up errors in config tests found by static analysis * Add lockf autoconfigure detection * stress-io: use HAVE_SYNCFS to detect syncfs availability * stress-dirdeep: use HAVE_SYNCFS to detect syncfs availability * Add syncfs autoconfigure detection * Add fdatasync autoconfigure detection * Add fsync autoconfigure detection * stress-flock: remove __sun__ restriction * Add posix_memalign autoconfigure detection * Add futimes autoconfigure detection * stress-zlib: remove restriction on __sun__ * stress-wait: only disable for broken GNU/Hurd * Makefile.config: add -Werror to fix build warnings on Minix * Add mount autoconfigure detection for BSD and Linux * stress-rmap: remove build restrictions on non-linux systems * stress-ng: ensure utsname.h is included for non-linux builds * stress-get: ensure utsname.h is included for non-linux builds * stress-get: fix build error on non-linux platform * Add x86 cpuid autoconfigure detection * Add strlcpy strlcat string func autoconfigure detection * helper: clean up utsname includes * Add uname autoconfiguration detection * stress-msync: replace __minix__ with HAVE_MSYNC * stress-mincore: use the HAVE_MINCORE macro rather than __gnu_hurd__ * Add sigwaitinfo and sigqueue autoconfig detection * stress-hdd: replace __gnu_hurd__ with more generic posix fadvise check * stress-wait: add notes on why this is disabled on GNU/Hurd * helper: use HAVE_SIGALTSTACK instead of minix and GNU/Hurd checks * stress-msync: enable build for GNU/Hurd * Add posix_openpt autoconfig detection * stress-mincore: remove extraneous space at end of error message * test/test-posix-fadvise: force failures GNU/Hurd * Add posix_fadvise autoconfig detection * test: force failures for mincore and msync for GNU/Hurd * stress-fcntl: fix incorrect usage of F_DUPFD_CLOEXEC flag * stress-get: remove __minix__ #define check * Add mincore autoconfig detection * Add msync autoconfigure detection * stress-mmap: call shim_msync rather than msync * Add mprotect autoconfigure detection * Add autoconfigure detection of sigaltstack * Add autodetection of mlockall and munlockall * Add mlock autodetection * Add getpgid autoconfigure detection * Add getpgrp autoconfigure detection * split out version macros into stress-version.h * Add dup3 autoconfigure detection * stress-trees: voidify return of get_setting for tree-method option -- Colin King Thu, 14 Dec 2017 18:12:01 +0000 stress-ng (0.09.06-1) unstable; urgency=medium * Makefile: bump version * Add more smarts in autodetecting wcs* functions * stress-tree fixes that got discovered after the 0.09.05 release: - stress-tree: minor changes to splay and rb tree setup and insertion - stress-tree: fix up tree method calling and add AVL tree * stress-tree: add binary tree * stress-tree: use faster method to populate data -- Colin King Fri, 8 Dec 2017 16:24:56 +0000 stress-ng (0.09.05-1) unstable; urgency=medium * Makefile: bump version * Makefile: remove .xz tarball instead of .gz on make clean rule * debian/control: update Standards-Version to 4.1.2 * Debian: watch: change watch URL to use .xz rather than .gz * Makefile: use xz compression on tarball make dist rule * Manual: Add more information in the tree description * stress-wcstr: fix build issues for GNU/kFreeBSD builds * Don't include bsd/wchar.h for GNU/kFreeBSD * libbsd test: Add *BSD support * stress-treee: don't build for __APPLE__ * Add DragonFly BSD to BSD support for libbsd * stress-tree: fix build for systems without libbsd * stress-ng: add funccall mini help options. * Add libbsd tree stressor * test/test-libpthread: remove POSIX semaphore checks * stress-ng.h: fix indentation * Move put values into global union, saves > 40K on x86 * Add the funccall function call stressor * Makefile: move fanotify stressor to correct alphabetical order place * stress-dev: perform open with O_RDONLY | O_WRONLY for ioctl opens * stress-clone: catch OOM'ing clone stressors and re-spawn them -- Colin King Wed, 6 Dec 2017 13:20:46 +0000 stress-ng (0.09.04-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-sigsegv: catch SIGBUS for systems such as __APPLE__ * stress-fault: catch SIGBUS for systems such as __APPLE__ * stress-mmapaddr: cast uint64_t value to intptr_t * stress-mmapaddr: set addr correctly, fixes null ptr issue * stress-mmapaddr: add mremapping if supported * stress-mmapaddr: add MAP_LOCKED random flag setting * stress-mmapaddr: 2nd mmap should check remap addr, and add MAP_32BIT * stress-mmapaddr: add random MAP_FIXED flag * Add stress-mmapaddr random address mmap stressor * stress-icache: remove constification of page_addr * stress-hrtimes: make a couple functions static * stress-vm-rw: constify pointer ctxt * stress-vm: add a couple of constifications in macros * stress-userfaultfd: constify a couple of function args * stress-tmpfs: constify rnd * stress-stream: constify advice in struct stream_madvise_info_t * stress-socket: constify type in struct socket_type_t * stress-pty: fix typo in comment * stress-mmapfork: constify ln * stress-mknode: constify greycode * stress-mincore: remove some empty lines * stress-mergesort: reorder statements and int declaration * stress-malloc: add some constifications * stress-ioport: constify flag * stress-icache: constify page_addr * stress-hdd: add some more constifications * stress-full: constify fields of a struct * stress-flock: constify ppid * stress-filename: add various variable constifications * stress-fiemap: add various variable constifications * stress-dirdeep: constify inodes_avail * stress-dentry: add a constification to a data structure * stress-clock: add a few more constifications * stress-branch: make array labels const * affinity: constify max_cpus * Add more comments to stress-ng.h * stress-vforkmany: call vfork syscall directly when possible * stress-open: only close fd's that have been opened * stress-cpu-online: only allow all CPUs to be offlined with 1 instance * stress-cpu-online: by default, don't offline/online CPU 0 -- Colin King Sun, 26 Nov 2017 22:46:23 +0000 stress-ng (0.09.03-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-physpage: move unsupported function * Add new physpage stressor * Manual: add more notes on the OOM behaviour of the stack stressor * Add in stressor name or core context as prefix in pr_dbg messages * stress-fanotify: write "test" rather than "foo" * stress-exec: don't allow this to run as root, skip rather than fail * stress-ng: remove semaphore.h, it is in stress-ng.h already * stress-hrtimers: don't kill pid 0 -- Colin King Sun, 19 Nov 2017 16:01:11 +0000 stress-ng (0.09.02-1) unstable; urgency=medium * Makefile: bump version * Manual: update contributors names and date * README: update, add OS X instructions and add clean rule * shim: cast to int for brk for __APPLE__ * stress-ng.h: fix missing _ off __APPLE_ macro name * Use shim_sbrk and shim_brk wrappers * Add shim for brk and sbrk * stress-pthread: use shim_sched_yield instead if pthread_yield * stress-ng.h: use shim spinlock in warn_once inline helper * pthreads: shim spinlocks so we can use mutex if not available * Makefile.config: add missing ( * Make BSD library more flexible, especially with __APPLE__ arch * stress-inode-flags: reset flags to zero at end of loop (LP: #1730297) * stress-inode-flags: move counter to bump once per loop iteration * stress-random: enable random stressor for __APPLE__ arch * stress-filename: default to POSIX filename chars for __APPLE__ * stress-filename: OS X can't have ':' in filenames * stress-fcntl: fix up incorrect name of failed system call * stress-fcntl: remove need for 2nd fd in F_DUPFD * stress-mmap: add MAC OS X mmap flags * stress-schedpolicy: disable this for __APPLE__ arch * sched: detect __APPLE__ and don't used sched funcs for this arch * stress-zlib: correct text start/end for all OS choices * test/test-libpthread: ensure we check all pthread functionality * Update README.Android notes -- Colin King Tue, 7 Nov 2017 14:54:23 +0000 stress-ng (0.09.01-1) unstable; urgency=medium * Makefile: bump version * stress-fcntl: fix build issue when F_OWNER_PGRP is not defined (LP: #1709905) * Makefile: remove special rule for wcstr * stress-rmap: fix bogo-ops max checks * stress-memthrash: make bogo-ops checking more granular * stress-iomix: make bogo-ops checking more granular * stress-sleep: make bogo-ops checking more granular * stress-socket-diag: make bogo-ops checking more granular * stress-socketpair: make bogo-ops checking more granular * stress-stack: make bogo-ops checking more granular * stress-dirdeep: make bogo-ops checking more granular * stress-sigsuspend: catch SIGUSR1 to avoid children getting killed * stress-nice: make bogo-ops checking more granular * stress-aio: make bogo-ops checking more granular * stress-shm-sysv: make bogo-ops checking more granular * stress-shm: make bogo-ops checking more granular * stress-sem-sysv: make bogo-ops checking more granular * stress-sem: make bogo-ops checking more granular * stress-resources: make bogo-ops check more granular * stress-open: make bogo-ops check more granular * stress-key: increment counter on tidy phase * stress-inode-flags: don't over-run bogo-ops count * stress-dup: check for bogo-ops more accurately * stress-dev: make bogo-ops count on per directory * stress-sysfs: make bogo-ops count on per directory * stress-timerfd: fix bogo-ops, counter was not being incremented * stress-vm: fix bogo_ops threshold checks * stress-yield: fix bogo-ops timeout and accounting * stress-iomix: improve counter checking to make termination more responsive * stress-itimer: ensure we stop timers when timer handler is saturated * stress-hrtimers: ensure we stop timers when timer handler is saturated * stress-timer: ensure we stop timers when timer handler is saturated -- Colin King Thu, 2 Nov 2017 15:06:11 +0000 stress-ng (0.09.00-1) unstable; urgency=medium * Makefile: bump major version * Makefile Add perf-event.c and usr.bin.pulseaudio.eg to dist rule * test/test-mathfunc.c: ensure link fails if function is not available * Add exporting of MATHFUNC for BSD builds * stress-ng: fix typo in comment * shim: remove leading tab on empty line * Add hrtimers stressor * sched: use pr_* logging and quiet flags rather than fprintf * Add CFLAGS and add -I to path so that stress-ng.h can be included * Add ioport (port 0x80) stressor * stress-resources: don't abort early on cleanup, fixes msg leaking * stress-cpu: use L suffix for all long double constants * stress-bigheap: cast uint8_t ptr to void * for %p format * stress-af-alg: remove unused macro SEMI_BLOCK_SIZE * stress-affinity: cast return type from stress_get_processors_configured * Remove ; at end of macro STRESS * Makefile: remove the rm of test-decimal.c, it is now redundant * Makefile: remove cpu decimal float test, it is in the Makefile.config * Move test config sources to test directory * stress-dev: catch SIGKILL et al on device access breakage * debian/control: change Priority to optional -- Colin King Thu, 26 Oct 2017 09:56:32 +0100 stress-ng (0.08.18-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * debian/control: update Standards-Version to 4.1.1 * stress-hsearch: use sizeof on size of object and not the type * stress-vm: use sizeof on size of object and not the type * stress-ng: use sizeof on size of object and not the type * stress-radixsort: use sizeof on size of object and not the type * stress-shm: use sizeof on size of object and not the type * stress-zlib: use sizeof on size of object and not the type * stress-udp: use sizeof on size of object and not the type * stress-mlock: use sizeof on size of object and not the type * stress-sigsuspend: use sizeof on size of object and not the type * stress-tsearch: use sizeof on size of object and not the type * stress-stream: use sizeof on size of object and not the type * stress-yield: use sizeof on size of object and not the type * test-libbsd: use sizeof on size of object and not the type * stress-scpt: remove extraneous space * stress-qsort: use sizeof on size of object and not the type * stress-opcode: use sizeof on size of object and not the type * stress-mergesort: use sizeof on size of object and not the type * stress-lsearch: use sizeof on size of object and not the type * stress-heapsort: use sizeof on size of object and not the type * stess-fiemap: use sizeof on size of object and not the type * stress-cpu: fix setting of data values for stats data * stress-cpu: use sizeof on size of object and not the type * stress-cpu-online: use sizeof on size of object and not the type * stress-bsearch: use sizeof on size of object and not the type * stress-apparmor: use sizeof on size of object and not the type * stress-aio: use sizeof on size of object and not the type * perf: use sizeof on size of object and not the type * cache: use sizeof on size of object and not the type * stress-cpu: add statistics computations (stats cpu method) * Add eventfd autodetection * Add chroot autodetection * stress-cap: remove __linux__ check * stress-netdev: make errno EADDRNOTAVAIL non-fatal * Makefile: re-organize, put config probing into Makefile.config * Add swapcontext autoconfig detection * stress-zlib: add handler to catch code text read faults * stress-cyclic: print 64 bit signed 0 value dist stats correctly on 32 bit arch * stress-cyclic: fix up bucket info * stress-cyclic: dump more buckets and don't show lots of trailing zeros * stress-fiemap: add more yield points for snappier termination -- Colin King Wed, 18 Oct 2017 10:27:43 +0100 stress-ng (0.08.17-1) unstable; urgency=medium * Makefile: bump version * debian/control: update Standards-Version to 4.1.0 * perf: rename perf_info argument to pi to avoid shadowing warning * README: update number of stressors * stress-procfs: add some seeks to further exercise procfs * test-mathfunc: ensure we link in the math func * Fix test-mathfunc checks - fails on BSD. * Makefile: add test-mathfunc.c and add it to dist rule * Makefile + stress-cpu: add autodetection of missing math functions * perf: inline perf_type_tracepoint_resolve_config * perf: remove need for prefix of PERF_COUNT_ on perf counter names * perf: remove need for the HW_CACHE wrapper macro * perf: move PERF_INFO_TP macro * perf: increase width of label by 1 char * perf: rename STRESS_GOT to STRESS_PERF_DEFINED * Remove perf_get_counter_by_index, simplify code * Move perf_scale_t and perf_scale, make array const too * perf: remove helper function perf_get_label_by_index * perf: simplyify event handling, remove need for ids * stress-ng.h: remove redundant minix #if def * perf: remove some white spaces before tabs. bad formatting * perf: add some more perf hardware events * perf: add more trace point events * perf: fix spelling mistake in comment * perf: Add more units scaling, for when processors run really fast * Manual: update contributors * stress-key: bump timeout to 7200 seconds from 1 second * stress-opcode: fix build warning when SECCOMP_SET_MODE_FILTER is not defined -- Colin King Mon, 9 Oct 2017 10:15:36 +0100 stress-ng (0.08.16-1) unstable; urgency=medium * Makefile: bump version * stress-aio-linux: automatically scale requests (LP: #1711675) * stress-socket-diag: sockdiag_send zero return should be checked * stress-socket-diag: sockdiag_send should return 0 on stress test end * stress-socket-diag: ensure name is sockdiag and not sock-diag * Add swapon/off stressor -- Colin King Thu, 21 Sep 2017 10:17:11 +0100 stress-ng (0.08.15-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * Abstract a shim for off64_t * shim: fix typo, error should be errno * stress-opcode: don't use seccomp if SECCOMP_SET_MODE_FILTER is not defined * stress-memrate: add volatile in void cast to fix buildw arning * stress-socket-diag: constify attr and cast * shim: move iopriority shims from io-priority.c to shim.c * stress-pthread: fix typo mutx -> mutex * Add cpu-online and oom-pipe stressors to the pathological class * shim: move shim_sync_file_range from stress-sync-file to shim * shim: use __NR_futex instead of SYS_futex in syscall * stress-dup: use dup3 shim * shim: add shim to dup3 * stress-mincore: reset random address if it matches previous address * syscalls.txt: update * stress-clock: add half-baked attempt to set timer * helper: remove extraneous and incorrect < 0 after prctl call * fix -x exclude option * stress-ng: make index size_t type * stress-opcode: add seccomp filtering to limit syscalls * helper: stress_drop_capabilities: don't allow new privileges * Enable SCHED_DEADLINE and rework some abstraction interfaces * timers: cast to type of tv fields rather than long long int * stress-madvise: add MADV_WIPEONFORK * stress-vforkmany: cleanup build warnings on munmap on openindiana * stress-memrate: cleanup build warnings on munmap on openindiana * stress-matrix: cleanup build warnings on munmap on openindiana * temporarily disable SCHED_DEADLINE scheduling -- Colin King Wed, 13 Sep 2017 13:35:59 +0100 stress-ng (0.08.14-1) unstable; urgency=medium * Makefile: bump version * Update TODO list * Add a latin (Lorem Ipsum) random text mode to zlib method * test-mq-posix: force failure for GNU/HURD * test-mq-posix: fix build failure because of missing * stress-resources: clean up warning when POSIX MQs are not available * include in stress-ng.h * stress-mq: make build depend on HAVE_MQ_POSIX being defined * Add branch stressor that exercises process branch prediction * stress-memrate: perform oom adjustment in child earlier than allocation * test-sock-diag: voidify array unix_diag to work around clang warning * stress-kcmp: fix kcmp shim and fully implement KCMP_EPOLL_TFD stressor * stress-semaphore: make POSIX semaphores depend on HAVE_SEM_POSIX * stress-resources: waste POSIX message queues * stress-resources: waste SYSV message queues * stress-resources: waste SYSV semaphores -- Colin King Thu, 7 Sep 2017 11:59:01 +0100 stress-ng (0.08.13-1) unstable; urgency=medium * stress-rdrand: use 32 bit rdrand for i386 * stress_drop_capabilities: voidify name to avoid warning * Enable 64 bit large file system support by default * debian/rules: Add hardening=+all * manual: fix several spelling mistakes * stress-cpu: fix spelling mistake "assigment" -> "assignment" * stress-ng: fix spelling mistake "afer" -> "after" * stress-opcode: drop all capabilities so we can't do much damage (LP: #1714044) * helper: add stress_drop_capabilities to drop all capabilities * stress-socket-diag: use new HAVE_SOCK_DIAG_H build time check flag * Add sock_diag.h auto configure build time checking * Add sockdiag stressor * stress-fcntl: fix build failure on SLES11 SP4 (LP: #1709905) * stress-cyclic: fix build warning on systems w/o atomic ops * stress-softlockup: fix build warning on systems w/o atomic ops -- Colin King Wed, 30 Aug 2017 22:06:11 +0100 stress-ng (0.08.12-1) unstable; urgency=medium * Makefile: bump version * helper: add more debug to filenames to help debugging * stress-inode-flags: fix incorrect path being used on directory (LP: #1712857) -- Colin King Thu, 24 Aug 2017 16:59:33 +0100 stress-ng (0.08.11-1) unstable; urgency=medium * Makefile: bump version * stress-zlib: use _start for OpenBSD builds * stress-zlib: don't build objcode stress method for sun targets * Manual: update date * Add objcode zlib stressor method to compress object code data * stress-zlib: sort zlib methods by name * exit immediately on end of --stressors option * stress-inode-flags: remove temp file and directory * Fix comment in helper * stress-radixsort: fix warning on calloc sizeof * Add new inode-flags stressor * stress-dev: correct a comment * stress-dev: add select and F_GETSIG fcntl calls -- Colin King Tue, 22 Aug 2017 11:11:12 +0100 stress-ng (0.08.10-1) unstable; urgency=medium * Makefile: bump version * stress-dirdeep: fix warning on unused variable ret on BSD systems * Update manual description for the --all option * job: allow classes to be run as jobs (LP: #1706970) * stress-dirdeep: don't remove directories in main exercise function * return EXIT_SUCCESS for class cpu? class command * stress-dirdeep: exercise files rather than create/delete * manual: fix wording in memthrash table * stress-dirdeep: Fix inode accounting, add more -v information feedback * Add --dirdeep-inodes option to limit of inodes being consumed: * parse-opts: don't allow negative percentages * Add stress_get_filesystem_available_inodes to get inode number * Add generialized percentage opt parser get_uint64_percent * helper: remove debug message from stress_get_filesystem_size * stress-ng: ensure --version option terminates immediately -- Colin King Mon, 7 Aug 2017 21:31:32 +0100 stress-ng (0.08.09-1) unstable; urgency=medium * Makefile: bump version * stress-memrate: don't fail so badly when we can't allocate memory * stress-ng: fix segfault on --memcpy, requires 1 arg and not zero * Manual: update date * stress-cpu: Minix also does not have lgammal so work around this * stress-dirdeep: fix clang + Minix build warning, cast char to int * stress-memrate: add OOM check detection * stress-cpu: NetBSD does not have lgammal so work around this * stress-radixsort: fix build issues on systems w/o libbsd * Add new memrate stressor * shim: trivial fix to comment typo * stress-cpu: optimize factorial calculation * job: avoid memory overflow on strncpy on txt * Add --matrix-yx option * iterate over size of classes and remove need for terminator * stress-radixsort: remove casting, clean up build warning with PEDANTIC=1 * README: Add notes on PEDANTIC builds * No need to extern define opterr, it is already defined in getopt.h * Fix static build issues with the use of getpwuid * Add longjmp handling to unwind parsing errors * Improve job error handling * Add a LIKELY annotation to the 75% likely path on mwc8() * Add a radixsort CPU/memory/cache stressor * stress-rmap: force faster termination and cleanups * stress-ng.h: forgot to commit matrix size increase to 8192 * stress-matrix: scale up default float values by 65535 * stress-matrix: don't allocate matrices on the stack, mmap them instead * stress-icache: call shim_cacheflush to flush ICACHE * Add --vm-madvise option * stress-ng: forgot to add in stream-madvise option in help * stress-resources: make memory mappings private and exercise random madvise * stress-vm: make mappings private, helps with hugepage madvise * stress-shm: make mappings private, helps with hugepage madvise * stress-memthrash: make mappings private, helps with hugepage madvise * stress-stream: add --stream-madvise option * manual: fix typo, --no-advise should be --no-madvise * stress-fcntl: add 4.13 hints F_GET_FILE_RW_HINT F_SET_FILE_RW_HINT -- Colin King Tue, 18 Jul 2017 09:34:47 +0100 stress-ng (0.08.08-1) unstable; urgency=medium * Makefile: bump version * manual: update date * stress-filename: sanity checks on sz_max file size * stress-cyclic: fix build warning on non-linux platforms * stress-open: ignore open_pt if building on GNU/HURD * make str const char *, fixup some PEDANTIC=1 build warnings * setting: fix const warnings with PEDANTIC=1 * stress-ng: make get_nth_proc a static function * job: rename argc to new_argc to fix shadowing parameter argc * stress-vforkmany: fix PEDANTIC=1 build warning on munmap * stress-softlockup: remove duplicate ret * Rename tmp vars so we don't shadow pid * stress-memthrash: fix build warnings with PEDANTIC=1 * stress-fstat: remove extraneous cast to void * * stress-dev: don't make path const * Rename array dccp_opts dccp_options to avoid name clashes * stress-static: make a few local functions static * exit_status: make it a WARN_UNUSED function * stress-iomix: add FS_IOC_GETFLAGS/SETFLAGS inode operations * stress-open: use posix_openpt and O_NOCTTY flag * stress-zombie: zombie-max should not be a byte size value * stress-vm: vm-hang option should be a time based option * stress-tsearch: tsearch-size should not be a byte size value * stress-sleep: sleep-max should not be a byte size value * stress-sem: sem-procs should not be a byte size value * stress-sem-sysv: sem-sysv-procs should not be a byte size value * stress-qsort: qsort-size should not be a byte size value * stress-pty: pty-max should not be a byte size value * stress-pthread: pthread-max should not be a byte size value * stress-mq: mq-size should not be a byte size value * stress-mergesort: mergesort-size should not be a byte size value * stress-memfd: memfd-fds option should not be a byte size value * stress-matrix: matrix-size option should not be a byte size value * stress-lsearch: lsearch-size option should not be a byte size value * stress-hsearch: hsearch-size option should not be a byte size value * stress-heapsort: heapsort-size option should not be a byte size value * stress-fork: fork-max and vfork-max options should not be a byte size value * stress-exec: exec-max option should not be a byte size value * stress-bsearch: bsearch-size option should not be a byte size value * stress-clone: the clone-max option should not be a byte size value * stress-dir: chdir-dirs option should not be a byte size value * stress-dirdeep: add a --dirdeep-dir option to make more dirs per level * stress-dir: dir-dirs option should not be a byte size value * stress-socket-fd: remove process name change on client and server * stress-memthrash: make child processes OOM-able -- Colin King Mon, 10 Jul 2017 13:40:50 +0100 stress-ng (0.08.07-1) unstable; urgency=medium * Makefile: bump version * test-inotify: initialize variable i to zero * Manual: update date * stress-cyclic: add pselect sleep method * stress-rmap: fix comment, remove 'of' * stress-netlink-proc: add more PROC event types * Add inotify build time detection * stress-get: re-format macro, no functional change * stress-dup: use fcntl(2) F_DUPFD to perform a dup * stress-dnotify: check if F_NOTIFY is available * test-fanotify: clean up some static analysis warnings * Ensure plural of cpus online and configured is correct * Add fanotify build time detection * stress-softlockup: fix builds where RLIMIT_RTTIME is not defined * stress-fanotify: only build if FAN flags are defined * stress-cyclic: fix build where RLIMIT_RTTIME is undefined (LP: #1700484) * test-sem-posix: voidify returns * test-mq_sysv: voidify ret rather than msg * stress-socket-fd: don't force overcommit on fd allocations (LP: #1692668) * stress-cyclic: use check_range instead of check_range_bytes for scalar values -- Colin King Wed, 28 Jun 2017 11:09:11 +0100 stress-ng (0.08.06-1) unstable; urgency=medium * Makefile: bump version * Debian/control: update standards version to 4.0.0 * Make test-sem-sysv.c fail for GNU/HURD * Make test-mq-sysv.c fail for GNU/HURD * Make test-affinity fail for GNU/HURD * stress-cyclic: fix build issues on non-Linux platforms * Clean up some warnings found on test config code * Add --cyclic-method to cyclic measurements stressor * Add build-time checks for SYSV shared memory APIs * stress-sigsegv: add NOCLOBBER hint to fix warning with gcc 5.4.1 * test-sem-posix: include time.h to build on BSD * stress-sem-sysv: make semtimedop a linux only feature * Add build-time checks for SYSV message queues * Forgot to add in new test-mq-posix.c test source * Add build-time checks for POSIX message queues * Add in cyclic help options * stress-vforkmany: add self adjusting waste memory allocation * stress-vforkmany: make child processes larger to be more OOM'able * stress-socket-fd: Add checks for sendmsg failures * stress-socket-fd: send SIGALRM rathe rather than SIGKILL to child * Add new --cyclic-dist distribution option * stress-vforkmany: allow children to be OOM'd (LP: #1698747) * sem-sysv: add linux checks for linux only semctl commands * Add SYSV semaphore autodetection at build time * job: voidify some function returns and constify len * stress-cyclic: fix tab/spacing indentation -- Colin King Wed, 21 Jun 2017 17:33:49 +0100 stress-ng (0.08.05-1) unstable; urgency=medium * test-sem-posix: don't build for FreeBSD kernels * stress-cyclic: only produce stats for first instance * stress-sem: hust build on systems that provide POSIX semaphores * stress-madvise: fix build warning with clobbered sz with gcc 3.4.3 * stress-vm: fix build warning on munmap * stress-fcntl: fix build issue on kFreeBSD * stress-softlockup: fix build error on GNU/HURD * stress-madvise: fix another BSD build warning * stress-madvise: fix build warnings on BSD * stress-cyclic: fix build issues on non-Linux systems * Add build time checks for POSIX semaphores * stress-cyclic: add NOCLOBBER hints to avoid gcc 4.9.2 longjmp warnings * fix bogo ops setting, this was broken in the set/get settings changes * stress-cyclic: avoid division by zero error * Add new real time cyclic stressor * Propagate stressor killed status back up to parent * Make --class cpu? exit 0 rather than 1 * stress-fcntl: only build in fd_get when it is required * stress-fcntl: only build in check_return if required * test-affinity: voidify unused rc return * stress-sigsegv: remove redundant null assignment to ptr * stress-rlimit: reduce scope of fds, ptr and oldbrk * stress-softlockup: constify fields in data structure * stress-seccomp: check for specific macros after including the headers * Add --abort option to force all stressor to abort if a stressor fails * stress-softlockup: try to synchronize start of all children * stress-futex: use shim'd futex calls * Add abstraction shims to futex operations * madvise: fix build failure because of incorrect build config check * Add new softlockup stressor, use with caution * Forgot to add test-affinity. * Add madvise build time checks * Add test-affinity to dist rule * stress-clock: don't do zero nanosecond sleeps * Add automatic affinity checking at build time * stress-sigsegv: produce fault using write to read-only page * stress-vforkmany: remove as many calls as possible -- Colin King Fri, 16 Jun 2017 11:42:56 +0100 stress-ng (0.08.04-1) unstable; urgency=medium * Makefile: bump version * debian/control: use libgcrypt20-dev (Closes: #864137) * stress-kcmp: add new KCMP_EPOLL_TFD to enums -- Colin King Mon, 5 Jun 2017 10:12:14 +0100 stress-ng (0.08.03-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-pthread: don't use pthread_yield for NetBSD and Solaris * stress-wait: fix waitpid, make sure it's waiting with correct flags * stress-wait: fix WCONINUED typo and add better waitpid error detection * stress-nice: where possible force a sched yield * stress-memcpy: force calls to memcpy and memmove * stress-longjmp: remove extraneous tab * stress-matrix: Add a few more simple matrix method * stress-longjmp: make it a little more stressy * Add OPTIMIZE1 -O1 optimization hint * Add NOINLINE macro for forcing no-inlining of small functions * stress-exec: Make exec fail detection more intelligent * Add comment hinting to fallthrough macro to help static analyzers * stress-epoll: fix comment about delay time * stress-cpu: make macro args distinguishable from function names * stress-cpu: correct a comment function name * stress-pthread: add pthread_yield() call for more scheduler stress * cache: add in missing const to argument * cache: minor code clean ups * constify set/get setting function args * stress-aio-linux: use DIRECT_IO and aligned buffers * Remove the main_opt_t and set/get these using the set/get settings * perf: constify n in perf_yaml_label * stress-cpu: add factorial computation and approximations method * manual: update contributors list, add Abdul Haleem * stress-ng: help: fix typo and replace method m with method M * stress-cpu-online: EBUSY shouldn't be a fatal error * Fix: Macro definition for SECCOMP_SET_MODE_FILTER * stress-socket-fd: fix fork failures correctly, make child oomable * stress-memthrash: try harder to get mmap'd memory * Update documentation and help for timeout, specify times in T * stress-ng: remove white space in some -ops help information * move help_t to main stress-ng.c as it's just local to that source * move ionice help to the generic options -- Colin King Thu, 1 Jun 2017 17:32:58 +0100 stress-ng (0.08.02-1) unstable; urgency=medium * Makefile: bump version * stress-dev: don't build for __sun__, it does not have DT_* macros * example-jobs/device.job: Add dev stressor * Move the --dev stressor to the CLASS_DEV class * example-jobs/memory.job: add memthrash example * Expand the default run time text into human time units for large times * stress-dev: remove linux only build constraint * stress-dev: use pthread_args_t rather than a special context struct * Makefile: update perf rule to match output of other CC rules * stress-dev: ensure we check for all watchdog names * Make zero timeouts run forever. * Add dev stressor to exercise /dev entries * stress-sockpair: make parent less oomable than the child * stress-memthrash: optimization tweaks, makes it run a bit hotter * stress-memthrash: add OOM detection handling * stress-memthrash: Add MAP_POPULATE to mmap'd region -- Colin King Thu, 18 May 2017 13:26:50 +0100 stress-ng (0.08.01-1) unstable; urgency=medium * Makefile: bump version * stress-memthrash: implement stress_set_memthrash_method for non-pthread builds * stress-memthrash: provide some feedback about the method being used * typedef a pproc_info_t ptr to proc_info_t type, we can use this on g99 * Revert "Use g11 as we are using C11 forward typedef declarations" * Use g11 as we are using C11 forward typedef declarations * stress-zlib: no need to initialize info * stress-str: no need to initialize info * stress-matrix: no need to initialize info * stress-cpu: no need to initialize info * stress-wcs: replace static option with set/get option settings * stress-wcs: rename stress_wcs_stressor_info_t to stress_wcs_method_info_t * stress-vm: rename stress_vm_stressor_info_t to stress_vm_method_info_t * stress-str: rename stress_str_stressor_info_t and use set/get method * stress-matrix: rename stress_matrix_stressor_info_t to stress_matrix_method_info_t * stress-cpu: rename stress_cpu_stressor_info_t to stress_cpu_method_info_t * Add --memthrash-method methods * stress-cpu: move HOT OPTIMIZE3 to correct function * thermal-zone: fix tab indentation * Add memthrash memory thrashing stressor * TODO: remove acl from list, it is covered by stress-xattr.c * stress-netdev: remove unused macro MAX_INTERFACES * Add new netdev (network device) stressor * stress-fork: remove unused static option variables * Add #! handling in jobs, allow one to run stress-ng from a job script -- Colin King Fri, 12 May 2017 17:03:49 +0100 stress-ng (0.08.00-1) unstable; urgency=medium * Makefile: bump version to 0.08.00 * Makefile: add test-aligned-128.c to dist rule * stress-vm: voidify return from get_setting call * Add an example job that exercises all the matrix methods * Quote the name of the stressor method to make it clearer * Allow multiple instances of the same stressor to be run * stress-vm: use new set/get_setting on vm-method option * stress-matrix: use new set/get_setting on matrix-method option * stress-cpu: add debug info on the cpu method being used * stress-ng: clean up some of the overly wide lines * Use struct field tags to specify field settings for new args_t * Comment new settings types * job: fix old gcc warnings, cast char to int before passing to isblank() * remove stressor_id_find(), it is no longer used * stress-iomix: voidify iomix_bytes for non-linux builds * stress-hdd: ensure flags are zero * Add check for no stress workers being run * Be tidy and free up stashed settings * stress-cpu: use set/get_settings on cpu-method option * stress-shm: allocate addr and shm_names on heap rather than stack * Ensure that when rounding to nearest page we don't round to zero * Add new set/get_settings() mechanism to stash settings * stress-vm-splice: ensure minimal mmap size is at least a page size * Use the correct number of procs for sequential running * Rework the proc info setup, clean up and refactor chunks of code * Pass a list of proc_info_t's to stress_run, remove not_runnable flag * Replace procs[] array with a doubly-linked list of proc_info_t * Track per stressor stats with a pointer to the shared stats data * stress-sync-file: clean up warning on signed integer comparison * More minor job fixups * scheduler.job: fix incorrect name of job * Add a hot-cpu example job * remove debug from --ignite-cpu option * Add scheduler class example job * manual: move mq options to correct location in man page * Add filesystem class example job * stress-hdd: ensure we do not divide by zero * test-libbsd: voidify returns from test calls * TODO: update things to do * Move number of instances into args struct, remove stressor_instances() * Add net class example job * Re-order the class names into alphabetical order * Add vm class example job * manual: add missing full stop in userfaultfd section * Add security class example job * Makefile: update dist and install rules to incorporate example jobs * Add pipe class example job * Add interrupt class example job * Add io class example job * Add device class example job * Add cpu-cache class example job * Add cpu class example job * Ensure stressor names are mungified from _ to - in class option * memory.job: make default run time 60 seconds per stressor * stress-mergesort: replace uint8_t sort with random mixer sort * stress-stream: remove args-> prefix from instance message * Add example memory job * man page: fix the resources option with line wrapping * man page: fix typo on sigpending-ops * Add new --job option allowing one to script stressors * split out arg parsing into a helper function, put opt data in a struct * snapcraft: remove icon and update snapcraft yaml * Add 128 byte cacheline alignment -- Colin King Sat, 6 May 2017 13:27:11 +0100 stress-ng (0.07.30-1) unstable; urgency=medium * Makefile: bump version * stress-fstat: fix build warning on struct shim_statx bufx on BSD* * stress-fstat: don't use statx if AT_SYMLINK_NOFOLLOW or AT_EMPTY_PATH are not defined * stress-rlimit: restore brk point without using sbrk(-MAX_RLIMIT_DATA) * stress-rlimit: fill in empty {} fields * Add statx system call to shim and fstat stressor * stress-ptrace: formally voidify return from various system calls * stress-lsearch: formally voidify return from lsearch() call * stress-cpu: ensure variable b and b_flt are not re-assigned * stress-*timer: explicitly use float rather than integer constant * STRESS_*BIT macros: cast 1 to desired type before shifting * stress-rlimit: formally voidify return from sbrk() call * stress-get: formally voidify returns from get*() calls * stress-chroot: fix missing else in fork return state checks * stress-cpu: use helper to write data to sysfs -- Colin King Thu, 20 Apr 2017 00:06:02 +0100 stress-ng (0.07.29-1) unstable; urgency=medium * Makefile: bump version * mwc: flush cached 8 and 16 bit values on reseeds (LP: #1681503) * voidify returns from various function calls * out-of-memory: #define constants and use these * Use the stress_handle_stop_stressing for child case * extern stress_handle_stop_stressing as it is a useful generic handler * Use new stress_sig_stop_stressing helper * Add stress_sig_stop_stressing helper to flag up end of stressing * stress-cpu-online: minor formatting clean-up of source * oomable option does not have any args, fix that * Add new --oomable option to stop OOM'd stressors from being restarted * stress-rlimit: add more rlimit limits, fix CPU limits -- Colin King Tue, 11 Apr 2017 10:54:26 +0100 stress-ng (0.07.28-1) unstable; urgency=medium * Makefile: bump version * shim: voidify flags argument to shim_mlockall * stress-mlock: forgot to use shim_mlockall rather than mlockall * stress-mlock: use munlockall/mlockall shims, rename mlock_shim to do_mlock * shim: add shims for mlockall and munlock all * mwc: optimize 8 and 16 bit mwc functions (LP: #1677645) * stress-ng.h: remove unused macro STRESS_IONICE * Clean up some formatting of macros and long lines * rename type stress_op to stress_op_t * rename type stress_id to stress_id_t * stress-ng.h: rename type stress_func to stress_func_t * stress-cpu: verify idct method more efficiently * Add autoconfig test for 64 byte alignment too * Fix test for 64K alignment (instead of 64 byte) * Makefile: add missing .PHONY and correct spelling of .PHONEY * Add autodetection for 64 byte alignment of functions (LP: #1676834) * stress-rmap: use shim fallocated rather than posix_fallocate * Makefile: no need to make configuration when making pdf -- Colin King Thu, 30 Mar 2017 17:26:17 +0100 stress-ng (0.07.27-1) unstable; urgency=medium * Makefile: bump version * Makefile: Add TODO list to make dist rule * manual: update date * stress-pty: don't conditionally build out stress_set_pty_max * Update TODO list * stress-memfd: use correct printf format specifier for uint64_t type * stress-chdir, stress-dir: remove unused static flags * stress-socket-fd: remove unused macro MAX_FDS * stress-memfd: fix comment * stress-chdir: correct the chdir-dirs option name * stress-chdir: set default to correct DEFAULT_CHDIR_DIRS * Add missing control for 4 stressors: (LP: #1676419) * - Add --pty-max option to specify max number of ptys to try to open * - Add --memfd-fds option to specify the number of memory file descriptors * - Add --dir-dirs option to specify number of directories to stress on * - Add --chdir-dirs option to specify number of directories * log: add some more comments * ignite-cpu: add some more minor comments * helper: add some more comments * stress-ng: add some more comments * stress-ng: remove some blank lines * mlock: remove const from m_addr_start to fix clang warning * stress-fanotify: remove const from metadata declaration * stress-cpu: remove unnecessary packed attribute on a union * rename optarg args to opt as these shadow the global oparg variable * fix up incorrect args to various stressors * net: make stress_set_sockaddr_port net_addr const * Minor layout re-formatting of long_options table * stress-ng: Set per stressor default settings using stressor_set_defaults * Manual: update copyright year * Add TODO list * stress-chroot: fix typo, ENODIR -> ENOTDIR * stress-vecmath: remove -O3 optimisation as this breaks gcc on ppc64el * Remove PEDANTIC=1 from makefile -- Colin King Mon, 27 Mar 2017 13:49:11 +0000 stress-ng (0.07.26-1) unstable; urgency=medium * Makefile: bump version * fast-test-all: revert back to maximum of 4 stressors * stress-zero: disable write to /dev/zero for minix * shim: fix build error and warnings on Minix builds * stress-fstat: allow threadless builds for systems without pthreads * stress-ng: fix cppcheck style warnings: reduce scope of variables i and j * stress-fstat: reduce scope of variable fd * stress-zlib: clean up cppcheck style warnings * stress-stackmmap: clean up cppcheck style warning * stress-bind-mount: use args_t wrapper for clone to fix warning * Wrap const *args_t to pass non const void * arg to pthread_create * stress-tmpfs: constify array mmap_flags[] * stress-shm-sysv: constify array shm_flags[] * stress-opcode: constify static array sigs[] * stress-mmap: constify mmap_flags * stress-af-alg: constify static data structures * test-asm-nop: add copyright boiler plate message * Make default cache size information debug only * thrash: add some function comments * shim: add more comments * Use the mincore shim to hide BSD/linux 3rd argument differences * Add shim for mincore(2) * shim: madvise: map madvise advice to posix_madvise advice * stressors: use shim_madvise rather than madvise * Add shim for madvise(2) * stress-fp-error: check for EDOM, ERANGE (LP: #1674000) * Make FORCE_DO_NOTHING build in a nop before other ways of doing nothing * stress-matrix: align matrices to 64 bytes to reduce cache stalls * stress-matrix: use restrict on arrays for more compute * stress-icache: add missing support for PPC64 * Add ppc64 arch to defined STRESS arch types * stress-icache: add missing support for IBM s390 * Add s390 arch to defined STRESS arch types * stress-icache: don't build in 64K page support for ARMEL * Makefile: replace 'got' with 'using' in autoconfiguration text * stress-getrandom: check for EINTR failures (from SIGALRM) * Makefile: generate apparmor raw binary data silently * Explicitly call pr_closelog() and flush pending output (Closes: #857942) -- Colin King Mon, 20 Mar 2017 10:32:35 +0000 stress-ng (0.07.25-1) unstable; urgency=medium * Makefile: bump version * helper: avoid calling sched_cpu on ppc64le * Makefile: remove NOTPARALLEL, it's not helpful * fast-test-all: remove xattr as it can break some file systems * Makefile: don't autoconfig if we are making dist clean or install * stress-mlock: add in const to void when calling mlock * stress-icache: unconstify page_addr to clean up build warnings * stress-vm: rename ret to waitret to fix variable shadowing * stress-chroot: rename ret to waitret to fix variable shadowing * stress-chroot: rename static path to temppath * Makefile: display config steps and don't break if config is not available * Add NOPARALLEL to config rules * Makefile: Add .PHONY to rules * manual: forgot to add the manual from the zlib changes * stress-madvise: avoid overuse of MADV_HWPOISON (LP: #1672387) * vecmath: use gcc __int128_t types if they are available * Makefile: remove -g flag from default build * README: update number of stressors and examples on how to build * manual: update contributors list * manual: fix escape around - for a stress-ng iomix example -- Colin King Thu, 16 Mar 2017 10:57:11 +0000 stress-ng (0.07.24-1) unstable; urgency=medium * Makefile: bump version * stress-fstat: remove siglongjmp, bad idea in threads * stress-fstat: forgot to sigfillset on set * helper: use correct format specifier to print size_t variable * syscalls: add statx entry to table * stress-fstat: run multiple threads on fstat for more stress * stress-wait: fix spelling mistake in comment * stress-socketpair: remove empty line * stress-null: add mmap'ing and msync writes to /dev/null * stress-memcpy: add in structure copying * stress-flock: remove empty line * stress-zero: privately mmap to /dev/zero rather than shared map * stress-zero: add write to /dev/zero as this is also allowed * stress-zlib: remove redundant assignment to ret * stress-zlib: use PRIu64 format specifiers for uint64_t types * stress-fcntl: fix build warning on minix * helper: sigaltstack is available for GNU/HURD * helper: fix random segfaults because of setting stack start incorrectly * stress-zlib: clean up some tabbing/whitespace alignments in table * stress-ng: don't use stress_set_zlib_method if zlib is not available * helper: set sa_flags to SA_ONSTACK to fix stackmmap segfault * stress-stackmmap: ensure signal handler stack is not on the stack * stress-stackmmap: fix random segfaulting * stress-atomic: fix build of this stressor * Add a stress_sigaltstack alt stack helper and use helper * Revert "helper: ensure ss_flags are set to SA_ONSTACK" * helper: ensure ss_flags are set to SA_ONSTACK * helper: GNU/HURD and Minix don't support sigaltstack, so ignore this * stress_sighandler: ensure signal handlers use alternative signal stack * stress-stackmmap: jump back to main loop via swapcontext * Forgot to check in modifications to stress-ng.[ch] for the zlib changes * stress-zlib: add check sum sanity checking and --zlib-method * affinity: voidify returns from printf family of calls * voidify returns from fflush * voidify returns from printf family of calls * voidify return from kill() * voidify return from close, fclose and closedir -- Colin King Mon, 13 Mar 2017 11:42:12 +0000 stress-ng (0.07.23-1) unstable; urgency=medium * Makefile: bump version * stress-fcntl: minix does not require fd_get * helper: use STRESS_SC_PAGES as defined in previous commit * helper: try to use avg available phys pages and then total phys pages * stress-ng.h: Re-organise ordering and formatting of macros * Clean up the GCC attribute macros * Add ALWAYS_INLINE gcc macro, force inlining of some critical functions * Add a NORETURN gcc attribute macro and flag waste_resources accordingly * stress-vm: initialize bit_error_count as MAP_FAILED * stress-vm: check for bit errors and report them rather than ignoring them * stress-bigheap: ensure heap growth size is rounded to pagesize * Add new helper to check sizes in bytes and print in human readable format * Allow memory stressors to run with ridiculously large allocations * Allow one to specify sizes of files or memory in % of total available. * Manual: clarify --cpu-load and --cpu-slice options * Print out stressors in a class when using --class ? -- Colin King Mon, 6 Mar 2017 15:02:01 +0000 stress-ng (0.07.22-1) unstable; urgency=medium * Makefile: update version * stress-vforkmany: move counter increment to pre-vfork stage * stress-vforkmany: don't call setpgid in a vfork child * stress-socket: unlink AF_UNIX path only if addr is not NULL * stress-dccp: unlink AF_UNIX path only if addr is not NULL * stress-iomix: remove redundant increments of posn * stress-iomix: ENOSPC on fallocate is a EXIT_NO_RESOURCE error * Update conversion tables, bytes and times * Emit metrics even when counter is zero if test has been successfully run * stress-futex: fix a broken comment * stress-ng: fix rounding error in bogo ops-calculation * stress-iomix: force page to be read even on high optimization levels * stress-iomix: fix mmap flags, should be PROT_READ | PROT_WRITE * stress-fcntl: reduce scope on variable fd -- Colin King Tue, 28 Feb 2017 17:59:58 +0000 stress-ng (0.07.21-1) unstable; urgency=medium * Makefile: bump version * Makefile: add test-asm-nop.c to dist rule * Makefile: add config to dist rule * stress-fault: fix build on BSD, missing g_ prefix on keep_stressing_flag * Makefile: save and re-load configuration * stress-apparmor: prefix global data with g_ * mwc: make __mwc static, it's not referred to globally nowadays * Prefix all globals with g_ to indicate they are in global scope * stress-chroot: make functions static * stress-iomix: fix build warnings with gcc 3.4.3 * stress-ng.h: include strings.h for sun builds for rindex * shim: fix build warning on FreeBSD * stress-icache: forgot to add addr voidification * shim: handle ENOSYS on posix_fallocate by using emulated fallocate * stress-icache: fix warning when madvise does is not being used * Add no-op nop cycle waster stressor * stress-icache: cater for 4K, 16K and 64K page sizes and alignments -- Colin King Fri, 17 Feb 2017 14:58:11 +0000 stress-ng (0.07.20-1) unstable; urgency=medium * fast-test-all: print system information * stress-key: handle ENOSYS on KEYCTL_SET_TIMEOUT and bail out early * stress-iomix: remove redundant directory removal on fallocate failure * shim: add emulation for failed fallocate(2) -- Colin King Thu, 9 Feb 2017 11:08:01 +0000 stress-ng (0.07.19-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-iomix: don't use fdatasync on non-linux systems * stress-chroot: make this unsupported for non-Linux systems * stress-iomix: use shim_msync instead of msync for portability reasons * stress-iomix: only use fadvise on linux * stress-iomix: only use MAP_POPULATE on systems that provide this flag * stress-iomix: only use FALLOC_FL_ZERO_RANGE on systems where it is available * Correctly default iomix size to 1GB * Move page_size to args struct, remove need for stress_get_pagesize calls * Add a new iomix mixed I/O stressor * stress-chroot: EINTR should not flag up as an error * Add a chroot stressor * Makefile: add pdf manual making rule * stress-socketpair: abort on read failure * stress-yield: remove args-> from instacne message text * stress-msync: add another missing \n * stress-sync-file: abort early on sync failures * stress-msync: add missing \n on error message -- Colin King Wed, 8 Feb 2017 13:47:31 +0000 stress-ng (0.07.18-1) unstable; urgency=medium * Makefile: bump version * stress-resources: don't build in timer data if SIGUNUSED is not defined * mwc: move inlined functions back into mwc.c * stress-resources: don't build timer code of SIGUNUSED is not defined, fixes builds on mips, mips64el, alpha, sparc64 -- Colin King Wed, 1 Feb 2017 07:03:54 +0000 stress-ng (0.07.17-1) unstable; urgency=medium * Makefile: bump version * fast-test-all: add more feedback on failed or skipped tests at end of test * stress-tlb-shootdown: ensure we have a sensible number of child processes * stress-fcntl: disabled F_DUPFD_* stressors for minix * stress-fcntl: ensure we are not dup'ing onto an already open fd * stress-fcntl: only use flock64 for linux * stress-fcntl: fix F_OFD_GETLK error message * stress-fcntl: use flock64 for locking fcntl calls * stress-get: treat EOVERFLOW on prlimit as not a fatal error * mincore: fix incorrect inverted logic to test for minix * fix build warning with missing const on BSD builds * fix build warnings with missing const on GNU/HURD builds * Make opt_all and wait_flag static, they do not need to be global * Fix up some spelling mistakes * ignite-cpu: make settings static * rename opt_do_wait to wait_flag as a more appropriate name * rename opt_sigint to caught_sigint * Replace opt_do_run with keep_stressing_flag * mincore: ensure we touch pages even when calloc or mincore fail * stress-ng: func_supported should be a void arg * stress-resouces: add calloc resource suckage * stress-resources: add posix semaphore resource suckage * stress-resources: add timer resource suckage * stress-resources: add socketpair to resource suckage * Optimize mwc64/32/16/8 functions * stress-noop: add loop and inc to show minimal stressor example * Optimize __keep_running helper * Add LIKELY/UNLIKELY macros * time.c: add another constification * helper, stress-ng.h: add a couple more constifications * cache: more constifications, remove comment from #endif * perf: use scientific notation to define double constants * stress-sleep: constify cast * constify args_t *args parameters * cache.c, stress-ng.h: move generic_map to cache.c, make it a typedef * stress-ng.h: add some more comments to various fields * stress-fifo: fix wrap around detection * stress-get: need to assign ret before checking it * stress-fcntl: remove "name: " prefix in error message * stress-icache: add missing ; to fix *BSD build * stress-tmpfs: use args->pid instead of getpid on pid * stress-hdd: fix build issue on GNU/HURD * stress-atomic: fix missing ; * use a new helper keep_stressing() to check if we should keep on running * Fix up pr_msg va_args, requires a shim * log: make args const * make pr_* macros into shim functions, shrinks the build size * pr_fail always writes to stderr, so remove the need to specify the stream * pr_err always writes to stderr, so remove the need to specify the stream * pr_tidy always writes to stderr, so remove the need to specify the stream * pr_dbg always writes to stderr, so remove the need to specify the stream * pr_inf always writes to stdout, so remove the need to specify the stream * Remove need to pass name in pr_fail_err, pr_fail_errno, pr_fail_dbg * Add stress_temp_filename_args helper * Add stress_temp_dir_args helper * Add stress_temp_dir_rm_args helper to rmdir given stressor args * Add stress_temp_dir_mk_args helper to mkdir given stressor args * Use arg->pid and arg->ppid rather than getpid() and getppid * stress-tsc: fix missing typo * Add pid, ppid and re-order args to pack more efficiently in args_t * Pass args to stressors via a args_t struct * Use the new mmap_check/set helper funcs * Add mmap set/check helpers * thrash: perform some sanity checks on mmap ranges * stress-tmpfs: remove unnecessary mypid variable * Add a tmpfs file/mmap stressor * stress-af-alg: fix fd leak, add close on error exit path * stress-af-alg: check for null ptr on cmsg to keep clang scan happy * stress-resources: reduce scopeof slavename, make it const char * * stress-netlink-proc: reduce scope of newname * stress-vm-rw: return EXIT_NO_RESOURCE on resource failure -- Colin King Tue, 31 Jan 2017 13:57:12 +0000 stress-ng (0.07.16-1) unstable; urgency=medium * Makefile: bump version * fast-test-all: remove vforkmany, this can be aborted by the OS * stress-numa: abort when no NUMA nodes found with EXIT_NO_RESOURCE * stress-numa: make determining number of nodes non-fatal * stress-numa: correctly deduce number of available NUMA memory nodes (LP: #1656419) * stress-*: make all pr_inf info messages write to stdout and not stderr * stress-numa: add some info about number of NUMA nodes found * stress-numa: add in better error failure abort and error return * stress-numa: probe for maximum number of NUMA nodes * stress-wcstr: fix build error for stress_wcscpy * stress-wcs: fix wcslcpy and wcslcat test cases * stress-wcs: improve failure detection, bail out early if tests fail * stress-str: fix strlcpy and strlcat test cases * stress-str: improve failure detection, bail out early if tests fail * stress-seccomp: add openat to system calls to fix failure on aarch64 * stress-seccomp: use pr_fail for seccomp errors -- Colin King Fri, 20 Jan 2017 19:44:11 +0000 stress-ng (0.07.15-1) unstable; urgency=medium * Makefile: bump version * fast-test-all: use --stressors to get the list of stressors * stress-ng: fix typo in tlb-shootdown-ops option * stress-ng: correct the alphabetical order of stressor names * fast-test-all: sync before running next test * mounts: cater for *BSD mount info fetching * stress-netlink-proc.c: fix build issue on non-Linux systems * Fix build issue introduced in commit 39025068b1fe1c2a72220 * stress-ng.h: remove double line spacing, add some comments * Manual: update contributors list * stress-rename: fix incorrect end of test logic * stress-ng: minor cleanup of spacing, some inlining and comments * Remove white space and replace ^ . with \t * Forgot to add in stress-netlink-proc.c * Add netlink-proc stressor * stress-rlimit: force checking of run time in case we miss SIGALRM -- Colin King Tue, 17 Jan 2017 13:43:22 +0000 stress-ng (0.07.14-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-socketpair: make stress_sockpair_oomable static * stress-socketpair: detect an oom-killed stressor * helper: don't use prctl PR_SET_DUMPABLE, it disables oom adjustment and hence we can easily overcommit when running as root (LP: #1654971) * out-of-memory: use /proc/self/... rather than /proc/$mypid/... * helper: use /proc/self/... rather than /proc/$mypid/... * stress-hsearch: don't free keys, some don't free them in hdelete * stress-vforkmany: use sighandler alternative stack * stress-context: make stack_sig static * Makefile: remove -g flag * stress-itimer: initialise start time * Add new --vforkmany stressor * stress-fanotify: ensure stress_fanotify_supported is built * Add fanotify stressor * Expand --get option in manual * stress-get: don't verify on adjtimex if not root, add sysfs calls * Add sysfs(2) shim wrapper * stress-membarrier: also exercise CMD QUERY * stress-dccp: report correct errno from connect failure * Makefile: update copyright year * update copyright year -- Colin King Tue, 10 Jan 2017 15:32:10 +0000 stress-ng (0.07.13-1) unstable; urgency=medium * Makefile: bump version * Makefile: rename check rule to fast-check-all * manual: update date * stress-udp: fix build warning on minix * stress-mmap: fix build issue with ms_flags on GNU/HURD and minix * add a make check rule to run debian/tests/fast-test-all * stress-pthread: add error checking on cond, mutex and spinlock init * add shim abstraction to msync, use this on various stressors * stress-pthread: check for init failures and use a spinlock on counter * add new dirdeep max depth directory stressor * README: Update info on libraries required for a full build * stress-cpu: fix missing bogo ops counter increment * enforce 64 byte alignment to buffer * stress-futex: fix typo in comment * ensure stacks are aligned to 64 byte boundaries * stress-hdd: use new align_address helper * helper: add align_address helper to align a address to power of 2 boundary * stress-sysinfo: only dump out info on number of mount points on instance 0 * trivial typo in man page -- Colin King Tue, 27 Dec 2016 19:40:19 +0000 stress-ng (0.07.12-1) unstable; urgency=medium * Makefile: bump version * stress-udp: minix fails on setsockopt SO_REUSEADDR, so ignore it * stress-get: don't use NULL delta, just pass a zero delta timeval struct * stress-fifo: catch EINTR as non-fatal error on open * stress-resources: fix warning message on unused parameter 'pipe_size' * debian/tests: remove dccp from fast-test-all * helper: fix build issues on non-linux targets * update date in the manual * stress-resources: add pty resource suckage * stress-resources: add inotify resource suckage * stress-resources: try to expande pipe to maximum allowed size * stress-oom-pipe: use stress_probe_max_pipe_size helper * helper: add stress_probe_max_pipe_size to fine max pipe size * Add Datagram Congestion Control Protocol dccp stressor * stress-resources: add single pthread as another resource hogger * ensure -v output is no wider than 80 chars to avoid line wrap on std tty * stress-schedpolicy: set policy with param, remove unused new_param -- Colin King Mon, 19 Dec 2016 14:33:23 +0000 stress-ng (0.07.11-1) unstable; urgency=medium * Makefile: bump version * thrash: bump the priority to 10 * thrash: use RR scheduler if possible on linux * stress-sctp: don't unlink on an address that is NULL * stress-schedpolicy: the set/get param was a bit unsound, fix it * stress-fault: silence a clang warning * stress-membarrier: pass thread arg as a ctxt_t * type * helper: make __stress_get_stack_direction static * stress-fstat: rename jump buffer to jmpbuf to avoid name shadowing * mlock: fix warning with older pre gcc 4.4 on solaris * helper: fix some more print pid_t warnings * fix warnings on printing pid_t type * stress-cpu: only use gcc optimise attribute on gcc 4.4 or higher * small cleanups to stress-ng.h * stress-personality: return EXIT_NOT_IMPLEMENTED if no personalities exist * replace #ifdef with #if defined() as the default idiom * makefile: use grep -e instead of grep -f * add support macro for gcc-7 switch statement case fallthrough -- Colin King Wed, 14 Dec 2016 18:15:14 +0000 stress-ng (0.07.10-1) unstable; urgency=medium * add copyright boiler plate on fast-test-all * stress-personality: move memset to avoid memset 0 sized array * forgot to add shim_getlogin to stress-ng.h * shim: add more secure version of getlogin * stress-mmapfork: fix typo on buffer sizeof * stress-link: ensure buffer returned from readlink is terminated with zero * shim_usleep: use nanosleep if it is available, fallback to older usleep * stressors: use shim_usleep instead of deprecated usleep * shim: abort early from shim_usleep if opt_do_run is false * add usleep shim * stress-opcode: rename signal handler dummy arg to signum * stress-membarrier: memset pthread_ret with correct size * stress-shm: use shim_fallocate rather than posix_fallocate * stress-hdd: workaround lack of posix_memalign on sun * stress-rmap: sun builds may not have posix_fallocate, so don't build it * stress-wait: work around long int pid_t warnings on Sun systems * stress-wcstr: sun wide char support has some wcs funcs missing * stress-flock: disable this stressor for sun machines * makefile: use -f instead of -e for Solaris versions of test -- Colin King Tue, 13 Dec 2016 19:43:11 +0000 stress-ng (0.07.09-1) unstable; urgency=medium * Makefile: bump version * helper: fix cppcheck warning by initialising val1 * stress-fstat: don't open /dev files to stat them when running as root * stress-fstat: don't bump counter if fstat fails * stress-fstat: perform end of test check earlier than later * stress-sync_file: use sync_file_range2() where required * allow for static building, using STATIC=1 make -- Colin King Tue, 6 Dec 2016 21:41:22 +0000 stress-ng (0.07.08-1) unstable; urgency=medium * Makefile: bump version * add NOCLOBBER macro and make some variables noclobberable * stress-aio-linux: clean up clang warnings * remove need to pass an argument to stress_get_stack_direction * add smatchify script to make dist rule * add smatchify static analysis script * stress-userfaultfd: remove unnecessary exit_status call * stress-socket: fix inconsistent indenting * fast-test-all: remove tailing tabs * snapcraft Makefile: remove trailing whitespace * stress-daemon: clean up fd closing and add SIGALRM handler * make daemon stressor a little more responsive to SIGALRMs * make snapcraft confinement strict * getrandom: add support for systems that support getentropy(2) * shim: add comment about shim functions * helper: remove caches = NULL for non-linux systems to fix build error * shim: fall back to allocation via writes on fallocate * stress-yield: remove need to use alloca, use calloc instead * manual: add Luis to contributors list and sort names alphabetically * shim: fix userfaultfd failures due to a typo * increase STRESS_PROCS_MAX to 4096 for higher load on large iron * stress-userfaultfd: work around static analysis false positive on fd * stress-stream: avoid re-assignment of cpu_caches on linux case * trash: remove traced, it is serving no purpose * helper: don't re-assign cpu_caches on __linux__ build * net: iterate to the size of domains rather than using sentinel * affinity: remove #includes as these are included in stress-ng.h * stress-oom: add in missing space between ooms and = -- Colin King Thu, 1 Dec 2016 11:45:11 +0000 stress-ng (0.07.07-1) unstable; urgency=medium * Makefile: bump version * fast-test-all: don't run spawn test for testing * fast-test-all: remove check for existence of stress-ng -- Colin King Fri, 25 Nov 2016 19:55:33 +0000 stress-ng (0.07.06-1) unstable; urgency=medium * update build rules for Solaris * add MINIX notes to README * shim: add check for posix_fallocate (fixes minix build error) * abstract loff_t as it is not available on *BSD systems * fix *BSD systems that don't support ino64_t and off64_t types * stress-fallocate: use shim_fallocate wrapper * shim: fix non-Linux build failure on shim_mlock2 * stress-fallocate: remove __linux__ only constraints on modes * cache: make DCACHE and ICACHE #defines kernel gemeric * remove white space and tabs at end of lines * shim: add mlock2 system call to shim * shim: add sched_getattr and sched_setattr shims * shim: prefix linux_dirent* structs with shim_ * stress-seal: use shim for memfd_create * stress-ng: minor re-ordering of structs and shim functions * shim: rename sys_ioprio_* to shim_ioprio_* * shim: add unshare system call to shim * shim: add seccomp system call to shim * shim: add userfaultfd system call to shim * shim: add some more __linux__ checks * stress-opcode: use shim_clear_cache * shim: add NUMA specific system calls to shim * shim: add memfd_create system call to shim * shim: add membarrier system call to shim * shim: add syslog system call to shim * shim: add kcmp system call to shim * shim: add __clear_cache GNUC cache clearing helper to shim * shim: add getramdom system call to shim * shim: add getdents and getdents64 system calls to shim * shim: add getcpu system call to shim * stress-get: use shim_gettid * shim: add gettid system call to shim * shim: add fallocate system call to shim * shim: add copy_file_range system call to shim * shim: add cacheflush system call to shim * add shim abstraction layer for sched_yield() * fast-test-all: add some feedback on when a test is being run * use pr_fail_err on some more error messages * fast-test-all: allow for STRESS_NG to specify stress-ng * stress-epoll: fix build for GNU/HURD * move all common #includes into stress-ng.h * stress-ng.h: Add alloc.h include for sun arch * stress-ng.h: include some more common headers and define _GNU_SOURCE * stress-schedpolicy: fix broken counter, it was never being incremented * stress-resources: fix broken counter, it was never being incremented * stress-personality: fix broken counter, it was never being incremented * stress-fp-error: fix broken counter, it was never being incremented * fix broken counter, it was never being incremented * stress-bind-mount: fix broken counter, it was never being incremented * stress-handle: fix memory leak on line and also bump counter * stress-apparmor: free apparmor_path to fix minor memory leak * ensure cache region is free before termination * stress-fstat: use sigsetjmp instead of sigjmp * wrap some overly wide lines * use pr_fail_err() instead of pr_fail where appropriate * reduce scope of iterator variable i * remove alloca in stressor_name_find * remove space prefixed on klog-ops option * mincore: touch pages even when mincore fails * update syscalls.txt * stress-schedpolicy: add sched_setattr/sched_getattr calls for Linux * stress-schedpolicy: add more sched syscalls, clean up code * add schedpolicy stressor * stress-ng.h: change macro param name in STRESS macro -- Colin King Fri, 25 Nov 2016 10:43:11 +0000 stress-ng (0.07.05-1) unstable; urgency=medium * Makefile: bump version and update codename * stress-fstat: fix resource leak on dp on error exit path * stress-fstat: forcibly abort any system call on SIGALRM * stress-aio-linux: use return as errno rather than errno * stress-aio-linux: use return as errno rather than errno * Need to #include when using clone(2) -- Colin King Thu, 17 Nov 2016 22:55:21 +0000 stress-ng (0.07.04-1) unstable; urgency=medium * Makefile: bump version * Add SIGUSR2 load average and memory stats information * Makefile: don't remove apparmor-data.o * Rename stress_sethandler to stress_set_handler * Manual: add notes on how to properly terminate stress-ng * Add SIGHUP to comment about terminating stress-ng * Makefile: clean up objects and apparmor-data.o * affinity: add some comments to functions * stress-cpu: add some optimisation hints * stress-cpu: add some more precision to constants * stress-fallocate: verify file size if posix_fallocate succeeded * stress-aio-linux: check for io_setup resource failures (LP: #1640547) -- Colin King Fri, 11 Nov 2016 12:42:12 +0000 stress-ng (0.07.03-1) unstable; urgency=medium * Makefile: bump version * stress-ioprio: use current pgrp and not global pgrp (LP: #1640631) -- Colin King Thu, 10 Nov 2016 00:00:01 +0000 stress-ng (0.07.02-1) unstable; urgency=medium * Makefile: bump version * Manual: Add exit status 4 EXIT_NOT_IMPLEMENTED to documentation * Treewide: remove messy #if defined() build checks * Allocate io_reqs on heap rather than alloca * Makefile: re-format PEDANTIC CFLAGS * stress-fiemap: fix up --fiemap-bytes option * stress-sock-fd: add --sockfd-port option * Add PEDANTIC build flags for extra checking * stress-icache: fix volatile cast warning * stress-vm: fix volatile cast warning * stress-socket: fix shadowing on addr * stress-mincore: addr does not need to be volatile * stress-ng, thermal_zone, remove shared param, it is global * parse-opts: fix char * cast warnings * perf: remove (char *) cast * helper: fix warnings * use gnu printf style attributes to pr_yaml * helper: cast pointer to const to fix warning * stress-poll: fix shadowing on ret, rename one to rc * Fix various bad castings for munge_underscore * stress-oom-pipe: fix shadowing on fd, rename to pfd to avoid confusion * stress-mq: remove shadowing variable attr * stress-hdd: remove duplicate declarations of ret; make it a ssize_t * stress-ng: make helper functions static * thrash: rename pid to thrash_pid * stress-zombie: make helper functions static * stress-zlib: make helper functions static * stress-xattr: remove redundant shadowing variable ret * stress-mremap: fix shadowing on rc, remove rc * stress-link: fix shadowing on ret * stress-rw-vm: fix shadowing of ret * stress-vm-rw: make helper functions static * stress-unshare: make helper function static * stress-tsearch: constify pointers * stress-socket-fd: make helper function static * stress-seek: fix shadowing on ret * stress-readahead: make helper function static, fix shadowing on ret * stress-qsort: constify pointers * stress-mlock: constify addr pointer cast * stress-mergesort: constify pointers * stress-memfd: fix shadowing of variable name * stress-fork: make helper function static * stress-lsearch: constify pointer casts * stress-itimer: make helper function static * stress-iopri: remove local pgrp that shadows global * stress-inotify: make helper func static, fix some const casts * stress-heapsort: fix constify warnings * stress-handle: make helper functions static * stress-fp-error: fix float comparison * stress-fifo: make helper function static, fix ret shadowing * stress-filename: make helper functions static * stress-fiemap: make helper functions static * stress-dnotify: make dnotify_attrib_file static, fix newpath const * stress-dentry: fix shadowing of variable j * stress-bsearch: correctly constify casts on i1, i2 * stress-bind-mount: make stress_bind_mount_child static * stress-cpu-online: make stress_cpu_online_set static * stress-clone: make stress_clone* helper functions static * stress-bsearch: constify i1 and i2 * stress-aio-linux: remove duplicate and shadowing variable ret * stress-af-alg: make helper functions static * Remove redundant re-declaration of mwc_seed * stress-cap: sscanf on pid_t should be %d * Make munge_underscore arg const char * * Mungify _ to - in stressor names in --stressors option -- Colin King Tue, 8 Nov 2016 15:58:11 +0000 stress-ng (0.07.01-1) unstable; urgency=medium * Makefile: bump version * manual: update date * stress-ng: fix build issues for Solaris * stress-rmap: fix warnings with gcc 3.4.3 * stress-rmap: Don't build for OpenBSD, it does not support posix_fallocate * stress-rmap: don't build for Minix * stress-rmap: rename macro CHILD_MAX to RMAP_CHILD_MAX * Add dnotify stressor * stress-*: voidify calls to setpgid * thrash: remove ptrace waits, not really required * thrash: use more standand %jx to scan in memory sizes * thrash: remove debug messages * manual: fix missing escape on - in --metrics-brief * Add --stressors option to show available stressors * cache: ensure path is set correctly for CPUs > 0 * cache: fix FIXMEs on determining the CPU number a process is running on * Add stress_get_cpu() helper to fetch CPU number process is running on * manual: fix typo --stack-full should be --stack-fill * stress-rmap: remove redundant NO_MEM_RETRIES_MAX * stress-apparmor: another fix to signal handler comment * stress-rmap: uncomment setpgid call * stress-rmap: replace white spaces with tab * Add rmap stressor * stress-apparmor: fix comment * stress-icmp-flood: just count number of sendto failures * Add --thrash option. Don't use it unless you are crazy. * debian tests: expand the SKIPPED notes on the test script * debian test: use STRESS_NG var for stress-ng * debian test: Use sh and make use POSIX string compare * Add proc helper to help with init/destroy stressor helpers * call stress_unmap_shared if share cache region allocation fails * Add stress_map_shared helper to mmap stress-ng shared region * generalise max proc limiting * Factor out random stressor setting into helper function * Factor out pathological stressor disabling into helper function * stress-resources: declare pid if O_TMPFILE is also defined -- Colin King Fri, 28 Oct 2016 11:49:41 +0100 stress-ng (0.07.00-1) unstable; urgency=medium * Makefile: bump version * Make ICMP flood stressor conditional build on OS basis * debian/rules: add hardening flags * helper: fix white space indentation (spaces replaced by tab) * stress-ng: bracket pid number on abort early message * stress-userfaultfd: catch OOMs and report these as no resource issues * stress-timer: make stress_timer_set static * stress-sysfs: add zero byte writes to sysfs files * stress-procfs: add zero byte writes to procfs files * stress-icache: ensure we mprotect on page aligned boundary * stress-opcode: unmap the shared region so we don't clobber it * stress-ng: generalise the run-time unsupported stressor checks * Add ICMP flood stressor * stress-shm*: minor change to comment * stress-rtc: fix ioctl() issues, use rtc_wkalrm for wake alarm ioctls * stress-rtc: add padding around rtc_tm to workaround an ioctl bug * stress-oom-pipe: fix pipe fd offset bug, causing writes to fd 0 on ppc64el * stress-ng: fix spelling of resrouces -> resources * stress-rtc: handle return code correctly and -EINTR aborts -- Colin King Mon, 17 Oct 2016 09:44:02 +0100 stress-ng (0.06.18-1) unstable; urgency=medium * Makefile: bump version * stress-resources: include alloca.h for __sun__ arch * stress-ng: add missing break from switch on OPT_NO_RAND_SEED case * stress-procfs/sysfs: abort rather than re-doing reads on read errors * Add --no-rand-seed option to force reproduceable test start conditions * stress-wcstr: use safe strlcat and strlcpy BSD* systems * stress-str: use safe strlcat and strlcpy on *BSD systems * stress-str: use safe strlcat and strlcpy if we have BSD string library * Makefile: explicitly add -lc flags, stops a warning on FreeBSD builds * stress-resources: pid variable declared only on specific builds * stress-resources: don't build in syscall shims if we don't use them * stress-mmapfork: set max strncat size appropriately * Remove old deprecated --vm-stride from man page * stress-resources: chew up less memory * Remove resources stressor from fast test all * stress-resources: add setpgid call * stress-resources: try harder to terminate on SIGALRM * Add resource stressor -- Colin King Mon, 3 Oct 2016 13:29:23 +0100 stress-ng (0.06.17-1) unstable; urgency=medium * Makefile: bump version * Update manual to explain the caveats with --perf * perf: detect when perf counters can't be used (LP: #1626009) - add better explanation on how to enable --perf as an unprivileged user -- Colin King Wed, 21 Sep 2016 10:25:17 +0100 stress-ng (0.06.16-1) unstable; urgency=medium * Makefile: bump version * Makefile: add test-libsctp.c to make dist rule * test-libcrypt: fix cppcheck warning * Debian/control: add libgcrypt11-dev * stress-procfs: clear stack before use * manual: update date * stress-sysfs: only report an info message on instance 0 * test-libsctp: add some checks for required macros * sched: fix build warning when building with clang on minix * sched: fix build warning when building with clang on minix * stress-stack: fix build warning when building with clang on minix * stress-mmap: fix build warning when building with clang on minix * stress-get: fix build warning with clang on minix * stress-sctp: add in missing --sctp-domain option, update manual * Update net helper to add addresses, add new SCTP stressor * Some minor cleanups to main stress-ng header, nothing major * rename get_unsigned_long to get_uint32 * Some more 80 column source line width fixes * stress-sysfs: use fstat rather than access on path * stress-procfs: forgot to re-open closed file * stress-procfs: add some illegal read calls to try to break procfs * stress-sysfs: add some illegal read calls to try to break sysfs * Make snapcraft confinement devmode * Minor formatting changes to ensure 80 column wide source * stress-tlb-shootdown: fix indentation * stress-context: don't build with sigaltstack if minix or hurd * stress-context: add use of sigaltstack and SS_AUTODISARM * helper: fix indentation * stress-opcode: fix indentation * stress-ioprio: remove duplicate and badly indented umask() call * stress-epoll: fix indentation on if statement * helper: set core size to zero if possible with setrlimit * helper: force number of cpus to be 1 if sysconf not available * net: declare missing in6addr_any for minix * stress-mmap: make mprotect a no-op for minix * stress-mmap: don't use msync for minix * stress-shm-sysv: don't use msync for minix * stress-stack: don't use sigaltstack for minix * sched: make this a no-op for minix * mlock: make this a no-op for minix * don't enable STRESS_MSYNC for minix * don't enable STRESS_YIELD for minix * stress-flock: don't yield if minix * mincore: make this a no-op for minix * madvise: this is a no-op for minix * stress-mlock: don't build for minix * stress-cpu: minix does not support cabsl, use cabs instead * stress-hdd: don't do madvise for minix * stress-get: minix does not have getpgrp() * stress-ng.h: don't build in mlock stressor if minix * forgot to guard MLOCK stressor with STRESS_MLOCK check * stress-get: minix does not have getpgid() * mounts: fix build issues for minix * mincore: fix build warning on minix * stress-ng.h: only include if it is available * stress-wait: cater for systems that lack WCONTINUED * stress-sigsuspend: remove header inclusion, not required * stress-quota: make err local to each code block * stress-quota: remove redundant err assignment * stress-quota: rename local errno so we don't alias global errno * stress-quota: fix cppcheck style warning * stress-madvise: fix cppcheck style warning * stress-clock: fix cppcheck style warning * stress-sysfs: fix cppcheck style warning, initialize stack * stress-ng: clarify precedence of & and ?, fixes cppcheck style warnings * stress-handle: ensure scanf %s field is limited to avoid overruns * Fix SunOS builds, add socket and nsl library link flags * Use mfence instead of __sync_synchronize for gcc pre 4.2 on x86 * Makefile: explicitly specify C standard using --std=gnu99 * stress-vm: don't use binary constants, gcc may not support these -- Colin King Fri, 16 Sep 2016 16:15:48 +0100 stress-ng (0.06.15-1) unstable; urgency=medium * Makefile: bump version * stress-af-alg: account for number of ENOENT crypto bind failures * stress-af-alg: don't report bind on ENOENT as a failure (LP: #1617788) - retry is performed, failures are accounted for in debug verbose -v mode -- Colin King Sun, 28 Aug 2016 19:02:11 +0100 stress-ng (0.06.14-1) unstable; urgency=medium * Makefile: bump version * stress-mmapfork: add more feedback on segv faults (LP: #1614099) -- Colin King Wed, 17 Aug 2016 14:28:18 +0100 stress-ng (0.06.13-1) unstable; urgency=medium * Makefile: bump version * Makefile: add snapcraft into make dist * ignite-cpu: ensure buffer is null terminated before calling strlen * stress-affinity: only check CPU move if sched_getaffinity succeeds * Add snapcraft packaging * stress-seccomp: inject some random BPF op codes * force indirect libc calls to enforce calls to libc wide str functions * stress-str: fix incorrect order on args in call to stress funcs * stress-str: force indirect libc calls to enforce calls to libc str functions * ensure cache info is only printed once * Manual: fix typo: build -> built -- Colin King Tue, 16 Aug 2016 11:38:12 +0100 stress-ng (0.06.12-1) unstable; urgency=medium * Makefile: bump version once more * Update manual page date since we've touched the manual * stress-seal: don't abort fatally if memfd_create is not available. * fast-test-all: cater for non-fatal test exit status * Add oom-pipe to fast-test-all exclusion list * Manual: clarify that return code 3 could refer to missing system call * stress-fcntl: handle EAGAIN lock requests more robustly * stress-fcntl: don't check initial GETLK status * stress-icache: don't fail if advice fails on EINVAL -- Colin King Fri, 15 Jul 2016 15:24:56 +0100 stress-ng (0.06.11-1) unstable; urgency=medium * Makefile; bump version * fast-test-all: don't run seccomp, it may not pass on some kernels * stress-fault: handle segfaults that occur on some BSD kernels * stress-icache: only madvice if MADV_NOHUGEPAGE is defined * stress-icache: don't assume that read/write/exec protection is allowed * Update cache-mfence helper. It supports ARM now. -- Colin King Thu, 14 Jul 2016 10:11:12 +0100 stress-ng (0.06.10-1) unstable; urgency=medium * Makefile: bump version again * stress-atomic + build: the autodetect smarts did not work, fix them - need to check that the linker also provides all the atomic built-ins too. -- Colin King Tue, 12 Jul 2016 17:29:46 +0100 stress-ng (0.06.09-1) unstable; urgency=medium * Makefile: bump version * stress-atomic: don't make tmp volatile, fixes clang warnings * Add smarts to Makefile to detect if atomic GCC functions are supported - fixes FTBFS issues on mips, mipsel, powerpc, m68k, powerpcspe, sh4 -- Colin King Tue, 12 Jul 2016 10:52:18 +0100 stress-ng (0.06.08-1) unstable; urgency=medium * Makefile: bump version * Manual: update date * stress-ptrace: EINTR is not a failure on waitpid * stress-tlb-shootdown: remove case where < 2 CPUs abort the test * Add GCC atomic ops stressor * stress-copy-file-range: handle ENOSPC as non-fatal * stress-icache: call __clear_cache() between code modifications. * Enable icache stressor for arm * Add renameat2 to syscalls * Add preadv2/prwritev2 to syscalls * stress-lockbus: use GCC builtin __atomic_add_fetch to test lock bus * stress-epoll: void return on timer_settime * Manual: update contributors, add Zhiyi Sun -- Colin King Tue, 12 Jul 2016 08:26:59 +0100 stress-ng (0.06.07-1) unstable; urgency=medium * Makefile: bump version * stress-msg: add in IPC_INFO, MSG_INFO, MSG_STAT msgctl calls * stress-vecmath: add more ops to make vecmath more demanding * stress-sync-file: sync on mode rather than on the sync_modes index * stress-opcode: use __builtin___clear_cache to avoid clang warning * stress-get: fix typo on syscall name * replace mfence with __sync_synchronize builtin * stress-bigheap: remove redundant call to stress_get_pagesize -- Colin King Fri, 24 Jun 2016 09:56:23 +0100 stress-ng (0.06.06-1) unstable; urgency=medium * Makefile: bump version * stress-shm-sysv: don't msync on GNU HURD, it is not implemented * stress-shm: don't msync on GNU HURD, it is not implemented * stress-ng: build in OPT_MEMFD_BYTES case if STRESS_MEMFD defined * manual: fcntl: add in missing locking commands * stress-socket: add --sock-type socket type option * Add Linux open file description locks stressor * Add POSIX advisory locking stressor * stress-fcntl: add more locking fcntl commands * man page: add --taskset example * stress-memfd: add better termination exit points, don't fail on EXNIO * stress-memfd: add a --memfd-bytes size specifier option * perf + Makefile: Add some smarts to detect available perf enums * stress-shm: msync the shm region * stress-shm-sysv: msync the shm region * stress-memfd: add hole punching to memory * stress-mremap: add MAP_FIXED remappings * stress-memfd: add random madvise to add some more page stress * stress-memfd: add seeks to memfd stressor * stress-xattr: rename name to attrname to stop shadowing on name * Update README stress test count * Add in missing seccomp from the --help info * Add a fcntl SEAL command stressor * README: update number of tests * time_now: return -1.0 for failed time fetch * stress-get: add getcpu system call * stress-dup: only close fd's that are open -- Colin King Fri, 10 Jun 2016 12:36:33 +0100 stress-ng (0.06.05-1) unstable; urgency=medium * Makefile: bump version * stress-mmap: ensure we don't leak fd, cleanup on exit * fast-test-all: don't run exec test * stress-mremap: catch SEGV and OOM restarts * stress-mmap: catch SEGV and OOM restarts * fast-test-all: exclude pty * Revert "stress-mremap: add random MAP_FIXED option to mremap" * stress-zero: #if def around ptr declarion for non-Linux systems * stress-zero: only perform /dev/zero mmapping on Linux * stress-cacheflush: remove sys_cacheflush for non linux systems * stress-shm-sysv: SHM_INFO and IPC_INFO are linux only * stress-cache: only call cacheflush on Linux systems * stress-filename: filename option should be from the .opt field * stress-rtc: fix some overly pedantic warnings from cppcheck * stress-shm: sync, expand and shrink shm region, extra stress * stress-open: use different forms of open flag combinations * stress-zero: mmap /dev/zero and check if the contents is zero * stress-pipe: sanity check pipe size setting * stress-dup: add dup2 on same fd exerciser * stress-fcntl: add some more fcntl commands * stress-seek: add SEEK_CUR, SEEK_END seek options * stress-utime: exercise UTIME_NOW and UTIME_OMIT settings * stress-userfaultfd: add poll to add some more kernel coverage * Add stress_set_nonblock to set fd to non-blocking I/O * stress-userfaultfd: add in zeropage handling * stress-mremap: add random MAP_FIXED option to mremap * stress-readahead: remove redundant if defined() checks on fadvise * Add SIGHUP trapping and send SIGALRM to all processes on death * stress-personality: only print number of personalities in instance 0 * syscalls: update pause information * stress-cache: use cacheflush() on systems that provide this syscall * syscalls: update ioctl entry * perf: add "per" / marking for per second * Add pty stressor * Add semtimedop to syscalls, it is present in stress-sem-sysv.c * stress-cap: add capset call for current stressor process * stress-shm-sysv: add some additional exercising of shmctl commands * stress-sem-sysv: exercise more of the semctl commands * Add trivial chown stressor * stress-dup: use dup3() on linux if it is available * Makefile: vecmath: make the file touch silent * stress-key: add request_key system call * syscalls: update pipe2 entry, this is now being exercised by stress-pipe * stress-mq: memset sigev to zero * stress-madvise: only build in if STRESS_MADVISE defined * Add madvise stressor * syscalls: add mq_timedsend to mq * stress-mq: use timed and non-timed versions of send/receive * stress-mq: add mq_notify calls every 1024 iterations * stress-link: lstat the link * Widen metrics dump stressor name field to 13 chars -- Colin King Fri, 27 May 2016 11:37:09 +0100 stress-ng (0.06.04-1) unstable; urgency=medium * Makefile: bump version * Makefile: remove gcc coverage build flags - these were accidentally added in the previous release and not removed -- Colin King Wed, 18 May 2016 19:16:45 +0100 stress-ng (0.06.03-1) unstable; urgency=medium * Makefile: bump version * stress-cap: cap data needs _LINUX_CAPABILITY_U32S_3 elements in size * stress-nice: add some randomness to the delay to unsync nicenesses * stress-opcode: remove white spaces -- Colin King Wed, 18 May 2016 15:06:34 +0100 stress-ng (0.06.02-1) unstable; urgency=medium * Makefile: bump version * Makefile + stress-vecmath: add more smarts to detect gcc build failures * stress-af-alg: don't fatally fail on bind on AF_ALG * stress-af-alg: fix up error messages * Add stackmmap stressor * stress-stack: ensure signal handling stack is aligned * stress-context: ensure stack is aligned to 64 byte boundaries * stress-opcode: disable signal count tracking * stress-opcode: clean up code a little * Add opcode stressor * update syscalls.txt * stress-ioprio: perform some io writes to exercise i/o priorities * Add ioprio stressor -- Colin King Sun, 15 May 2016 17:36:11 +0100 stress-ng (0.06.01-1) unstable; urgency=medium * Makefile: bump version * stress-af-alg: avoid any unterminated strings (unlikely) * debian/control: add libcap-dev to Build-Depends * stress-hdd: should use SIZEOF_ARRAY instead of sizeof * stress-full: don't close fd before trying a read * stress-af-alg: ensure the rng read size is correct * stress-af-alg: fix more -ve fd closes * stress-af-alg: don't close fd that is -ve * stress-tlb-shootdown: fix incorrect comparison on ENOMEM * stress-af-alg: check for errors on setsockopt * stress-full: try read test rather than skip if write fails * stress-full: clear buffer before we write -- Colin King Fri, 6 May 2016 22:58:01 +0100 stress-ng (0.06.00-1) unstable; urgency=medium * Makefile: new major version and codename * stress-msync: cast off_t to intmax_t to print with %jd format specifier * debian/control: update Standards Version to 3.9.8 * manual: update date * stress-msync: add in conditional STRESS_MSYNC build check * stress-af-alg: add simple rng to the mix * stress-af-alg: remove redundant type field info * manual: rephrase the --seq description * manual: clean up the SEE ALSO section * Add TLB shootdown stressor * stress-af-alg: remove (void)name * Add /dev/full stressor * stress-urandom: where possible also read data from /dev/random * Manual: update af-alg skciper section. * stress-hdd: work through all the --hdd-opts if --maximize is enabled * stress-xattr: fix error messages, they were reporting wrong syscall * stress-af-alg: use array size so we don't need NULL sentinels * stress-af-alg: Add skcipher stessing * stress-procfs: add /proc/tty, /proc/self, /proc/thread_self * stress-key: Add some more keyctl calls * Rename stressor names to match their command line name * Add msync stressor * Fix non-Linux build for set_cpu_affinity * stress-rtc: also read /proc/driver/rtc * Add RTC stressor * stress-get: use prlimit only with glibc >= 2.13.0 * stress-procfs: add more /proc directory traversal * stress-inotify: add ioctl FIONREAD to peek at available data on fd * Add the CPU affinity option '--taskset' * stress-cache: make pinned a linux only variable * stress-cache: fix pinned message, swap cpu and instance around * stress-cache: fix failure to build on GNU/HURD * Update contributions authors in manual * Ensure processes are kept to the CPU affinity set * taskset -c 4-7 stress-ng --cache 4 --stream 4 --yield 4 * Update README with other OS build notes * stress-spawn: make this a Linux only test * Disable MLOCKED sections for now on SunOS, we get linker issues * stress-ng: correct casts of void * * stress-ng: include alloca.h for SunOS * stress-ng: cater for systems that don't support RLIMIT_NPROC * mincore: cater for SunOS mincore API difference * stress-yield: correct casts of void * * stress-yield: include alloca.h for SunOS * stress-vm: correct casts of void * * stress-stream: correct casts of void * * stress-str: include strings.h for SunOS builds for index() prototype * stress-stack: include alloca.h for SunOS * stress-sigsuspend: correct casts of void * and uint64_t * * stress-mmapmany: correct casts of void * and uint8_t * * stress-mmap: correct casts of void * and uint8_t * * Fix alignment mask to ensure stacks are 16 byte aligned (LP: #1573117) * stress-mlock: correct casts of void * and uint8_t * * stress-icache: cast addr to (void *) in mprotect calls * mounts: SunOS requires *BSD style build arrangements * stress-hdd: cast data to (void *) to silence warning * stress-hdd: don't use futimes for Solaris UNIX * Add logging to syslog of free memory info post-OOM * Add system and memory syslog logging * stress-brk: catch EAGAIN errors on sbrk/brk * Remove debug log test message * stress-socket-fd: only build stressor if STRESS_SOCK_FD defined * Add logging of who and how stress-ng was invoked to syslog -- Colin King Wed, 4 May 2016 09:57:59 +0100 stress-ng (0.05.25-1) unstable; urgency=medium * Makefile: bump version * debian/control: update standards version to 3.9.7 * Ensure all clone() calls are 16 byte aligned for aarch64 (LP: #1573117) -- Colin King Fri, 22 Apr 2016 09:50:44 +0100 stress-ng (0.05.24-1) unstable; urgency=medium * Makefile: bump version * stress-mmap: handle SIGBUS signals (LP: #1569468) * stress-mmapmany: sanity check sysconf return * stress-mmapmany: detect SEGV deaths * stress-mlock: detect SEGV deaths * stress-brk: detect SEGV deaths * stress-bigheap: detect SEGV deaths * stress-memfd: detect SEGV deaths * stress-mmapmany: allocate mappings on heap rather than stack * stress-mlock: allocate mappings on heap rather than stack * stress-cpu: move sieve buffer to static to reduce stack size * stress-sem*: differentiate between which semaphore init that failed * stress-remap-file-pages: abort if remap fails * stress-fiemap: remove \n from pr_fail_err messages -- Colin King Thu, 14 Apr 2016 11:00:11 +0100 stress-ng (0.05.23-1) unstable; urgency=medium * Makefile: bump version * stress-aio: fix segfault on --maximumize option (LP: #1568335) * stress-chmod: just instance 0 should create the file (LP: #1568333) -- Colin King Sat, 9 Apr 2016 17:48:23 +0100 stress-ng (0.05.22-1) unstable; urgency=medium * Makefile: bump version * stress-af-alg: retry open if we get EAFNOSUPPORT (LP: #1564786) -- Colin King Fri, 1 Apr 2016 09:40:56 +0100 stress-ng (0.05.21-1) unstable; urgency=medium * Makefile: bump version * Add test-cap.c to Makefile dist rule * debian: tests: don't run remap stressor * stress-ng: add klog (syslog) stressor * syscalls: add remap_file_pages * Add page remapping stressor * stress-pthread: Add get_robust_list call * stress-sysinfo: exercise fstatfs() * Move wcs options to correct position in manual * Add the sync-file stressor * Add fp-error stressor * syscalls.txt: update some missing syscalls and some re-ordering * Add sys/capability.h and capget build time checks * stress-get: add prlimit * Update syscalls.txt with capget stressor * Add capabilities stressor -- Colin King Sun, 20 Mar 2016 11:39:31 +0000 stress-ng (0.05.20-1) unstable; urgency=medium * Makefile: bump version * stress-getdent: fix build warnings on systems with no getdents syscalls * Manual: update date * Debian/changelog: fix spelling mistake * stress-udp: fix two warnings on uninitialised addr * stress-socket-fd: fix two scan-build warnings * stress-getdent: init ret to -ENOSYS, fix scan-build warning * Use the generic signal handler helpers * helper: add generic signal handling/restoring helper functions * stress-oom-pipe: use stress_get_file_limit * stress-open: use stress_get_file_limit * stress-dup: use stress_get_file_limit * stress-socket-fd: use stress_get_file_limit * helper: add stress_get_file_limit to get max open files allowed * Add sockfd stressor * Add getdent stressor * stress-filename: use strncpy rather than strcpy * stress-qsort: use calloc * stress-cpu: zeta method should be counting in integers * stress-mergesort: use calloc * stress-heapsort: use calloc * stress-bsearch: use calloc -- Colin King Sat, 12 Mar 2016 17:58:42 +0000 stress-ng (0.05.19-1) unstable; urgency=medium * Makefile: bump version * stress-switch: don't initialize buf_size twice * stress-ng: don't stress-sleep options unless STRESS_SLEEP defined * stress-shm-sysv: comparing j < i - 1 is incorrect when i = 0 * stress-shm-sysv: parent should close read end of pipe * stress-context: make stacks larger, avoid segfault on kFreeBSD * stress-oom-pipe: handle condition where pipe size can't be set * stress-pipe: use O_DIRECT when possible * stress-switch: use O_DIRECT with 1 byte buffer is possible * stress-oom-pipe: ensure sz is set before we check it against prev_sz * Add stress-oom-pipe pipe buffer stressor * helper: fix comment on system_read() * stress-fallocate: add in default mode 0 * stress-iosync: fix build warning when using old glibc: * stress-fstat: add blocklist of paths not to open/fstat/close * correctly spell stress_adjust_pthread_max * stress-str: make some statics into static const * stress-socket: make socket_opts static const * stress-maxtrix: make some statics static const * stress-vm: make some statics static const * stress-wcstr: make variables static const * stress-get: make priorities static const * stress-filename: make filename_opts static const * stress-dentry: make dentry_removals static const * stress-cpu: make some variables static const * stress-clone: make flags and unshare flags static const * stress-chmod: make modes static const * perf: make perf_tp_info static const * cache: make struct generic_map const * helper: make stress_temp_path static const * stress-udp-flood: make data static const * stress-spawn: make exec strings static * Only define OPT_PTHREAD* macros if STRESS_PHREAD is defined * Minor #define changes, no functional change * stress-cpu: remove redundant initialisation of last_e * stress-cpu: don't build _Decimal stressors with clang * stress-shm-sysv: set entire shm_ids array to -1 * stress-fork: make child exit immediately and stash pid only in parent * stress-xattr: free buffer on error exit path * stress-timerfd: fix timer thresholding check * Add sleep stressor * stress-clock: add some comments and make source 80 column friendly * bigheap: reorder some variables on the stack for better packing * Add whitespace in return statement * thermal-zone: minor clean up * net: make loop iterator size_t * cache: minor code tweaks, no functional changes * cache: rework get_contents error return paths * cache: reformat function declarations to match the stress-ng code style * clean up and rename macro mk_path to MK_PATH * Ensure we do not under run string buffer * Add apparmor_parser executable check * time: make source 80 column friendly * thermal-zone: make source 80 column friendly * sched: make source 80 column friendly * perf: make source 80 column friendly * mlock: make source 80 column friendly * limit.c: remove redundant #includes * io-priority: make source 80 column friendly * ignite-cpu: make source 80 column friendly * Include stress-ng.h first for __kernel_long_t and __kernel_ulong_t -- Colin King Thu, 3 Mar 2016 17:20:01 +0000 stress-ng (0.05.18-1) unstable; urgency=medium * Makefile: bump version * stress-eventfd: fix incorrect return check on eventfd (LP: #1547450) * stress-mknod: fix == comparison on errno (LP: #1547446) * stress-tee: catch EINTR in splice() calls (LP: #1547434) -- Colin King Fri, 19 Feb 2016 12:40:24 +0000 stress-ng (0.05.17-1) unstable; urgency=medium * Makefile: bump version * stress-aio: don't cancel the signal handler before exiting (LP: #1547108) * stress-lockf: don't return failure if we get a timeout (LP: #154107) * stress-aio: don't return failure if we get a timeout (LP: #1547090) * Check for ENOMEM ENOSPC errors during init (LP: #1547062) * make stress_temp_dir_mk and stress_temp_dir_rm return -errno on failure * stress-dentry: fix file striding on clean-up (LP: #1547004) * Add stress_get_prime64 to stress-ng header * Add stress_get_prime64 to find a prime for filename striding * typedef possibly missing __kernel_long_t and __kernel_ulong_t * Add for linux builds * stress-aio-linux: fix clang scan-build warning * Makefile: only do build time config detection when building target -- Colin King Thu, 18 Feb 2016 17:52:11 +0000 stress-ng (0.05.16-1) unstable; urgency=medium * Makefile: bump version * Makefile: add test-libaio.c to dist rule * stress-seccomp: EINTR on waitpid is not a failure, so ignore it * stress-numa: aborted test should not be a failure, nothing got tested * stress-quota: check for EPERM, abort if we don't have permission * stress-kcmp: check for EPERM, abort if we don't have permission * debian/control: add libaio-dev dependency * stress-aio: use aiolib instead of direct system calls * Catch faults in child stressor and flag them as a fatal failure * stress-socket: only build in sendmmsg test for glibc 2.14 or higher * stress-iosync: build in syncfs call for glibc 2.14 or higher * Add detection for * stress-handle: only build in if we have glibc 2.14 or higher * ignite-cpu: don't print failure message as inf, make it dbg * stress-malloc: calloc'd size is too big, fix the size (LP: #1544575) * mincore: page align address of buffer before passing it to mincore -- Colin King Fri, 12 Feb 2016 19:02:59 +0000 stress-ng (0.05.15-1) unstable; urgency=medium * Makefile: bump version * fast-test-all: add pass/fail summary at end * fast-test-all: fix typo, socket-pair should be sockpair * stress-handle: specify width of integer in sscanf * Manual: expand the error exit code notes * stress-qsort: cast data to (uint8_t *) to stop static analysis warnings * stress-hdd: close file on a fstat failure * stress-futex: add backoff delay if futex is too much in contention * stress-sendfile: ignore EINTR on sendfile calls * stress-readahead: handle -ENOSPC as a non-failure condition * stress-vm-rw: re-organise the code into parent/child helpers * stress-userfaultfd: set stack size to be STACK_SIZE * stress-hdd: handle -ENOSPC as a non-failure condition * adt: remove socket-pair from tests * cache helper: output cache allocation size * stress-cpu-online: only report root requirement on instance 0 * stress-cpu-online: Don't report a failure if not run as root * Add L before cache level to make the debug less abstract * stress-denty: ENOSPC should not be a fatal error that stops the test * Fix -x option, compare munged strings to treat '_' like '-' * Ensure pathological class is disabled if we don't enable --pathological * stress-zlib: fix comparison which should not be an assignment * helper: fix double free on error exit -- Colin King Wed, 10 Feb 2016 10:35:16 +0000 stress-ng (0.05.14-1) unstable; urgency=medium * Makefile: bump version * Fix make dist - typo in test-libpthread.c * stress-fiemap: initialise counter at start of loop * stress-fiemap: ensure counter is being updated * adt: exclude bind mount from list of stressors * Don't emit warning on --pathological if number of stressors is zero * ignite-cpu: add null entry at end of list, don't scan by array size * Only include for linux for the bind mount stressor * stress-bind-mount: build stressor if STRESS_BIND_MOUNT defined * stress-bind-mount: stop cppcheck whining about uninitialised pid * stress-numa: don't fatally fail on -EIO with MPOL_MF_STRICT (LP: #1542741) * Enabled IGNITE_CPU with the --aggressive option * Add bind-mount stressor (LP: #1542010) * Add --ignite-cpu option to maximize CPU frequency * Make float decimal auto detect set -DHAVE_FLOAT_DECIMAL * Minor re-org of Makefile, and add more files to dist rule * Update README - increase number of stressors * adt tests: remove membarrier, it fails on older kernels in Debian * Add some more comments * stress-affinity: handle EINVAL when CPU(s) are offline * Set number of instances to on-line CPUs if N is -ve (LP: #1513546) * Remove opt_long, replace with get_int32 or get_uint64 * Add libpthread build time checks * Add librt build time checks * Remove commented out old link line * Add libcrypt check * Makefile: remove test-libz correctly * stress-cpu: make source 80 column friendly * Add FORCE_DO_NOTHING macro do force compiler to stop opimizing out loops * Add zlib stressor * stress-stream: cater for systems without L3 cache * stress-stream: only emit cache size info on instance 0 * Add libbsd-dev to README -- Colin King Mon, 8 Feb 2016 18:29:11 +0000 stress-ng (0.05.13-1) unstable; urgency=medium * Makefile bump version * Makefile: add test-libbsd.c to dist rule * adt: Bar a few more tests that can be problematic on different arches * stress-fifo: don't return and error status if we have to abort early * Exclude tests that may fail because system calls not fully implemented * Build stress-mergesort if STRESS_MERGESORT is defined * Built stress-heapsort if STRESS_HEAPSORT is defined * Make *put globals volatile to force gcc to compute values * Add BSD mergesort stressor * Add BSD heapsort stressor * madvise: add MADV_FREE * stress-vm-rw: don't close already closed pipe ends * stress-vm: just one top level iteration in rowhammer method * Use MAP_SHARED where appropriate * stress-qsort: fix typo in comment SIGARLM -> SIGALRM * Makefile: call make using $(MAKE) * stress-apparmor: reduce scope of ret * stress-shm: reduce the scope of variable n * stress-shm-sysc: reduce scope of variable n -- Colin King Thu, 4 Feb 2016 16:02:00 +0000 stress-ng (0.05.12-1) unstable; urgency=medium * Makefile: bump version * cache: memset globbuf, work around clang warnings * stress-cpu-online: free cpu_online on error return * fast-test-all: use the -v verbose flag * fast-test-all: Don't yet test copy-file * stress-copy-file: only build if syscall is supported * Change type of error messages in cache helper * cache: use %zd format specifier for size_t * cache: make source 80 column friendly * fast-test-all: return with error exit status * Tweak man page exit status table * Exit with status 2 if a stressor failured * Change mini help text to make it consistent * Add cpu-online to mini help * stress-cache: cater for non-powers of 2 cache size * Remove hard #undef __linux__ used during debugging * Re-work shared cache buffer allocation * stress-memcpy: fix segfault due to changes in allocation of cache buffer * Add kcmp to exclude list on adt test * Add cpu-online to exclude list on adt test * Make some helpers return int32_t rather than long * Add WARN_UNUSED macro and use it against functions that need return checks * Add CPU online stressor * Fix indentation issue after --hdd -- Colin King Thu, 28 Jan 2016 12:30:47 +0000 stress-ng (0.05.11-1) unstable; urgency=medium * Makefile: bump version * stress-stream: make L3 a uint64_t * stress-clock: fix build warning on non-Linux systems * stress-stream: fix FTBFS on non-Linux systems -- Colin King Tue, 26 Jan 2016 20:50:11 +0000 stress-ng (0.05.10-1) unstable; urgency=medium * Makefile: bump version * stress-stream: use new cache probing api * Add James Hunt to contributors in man page * cache: constify a few args and (void) fclose returns * Makefile: re-order cache.c in source list * stress-cache: make source 80 col friendly, use name instead of __func__ * Removed bogus check. * Reduce cache level to maximum available if specified too high. * New function to check max cache level. Also, reduced variable scope. * Merge branch 'master' into cache-handling * Rather than failing, display a message and fall back to defaults. * Reduce variable scope and remove redundant assignment. * stress-copy-file: off_t should be loff_t * Remove debug forced enabled of stress-file-copy * Merge branch 'master' into cache-handling * Add --cache-level=, --cache-ways=, and --cache-no-affinity to man page. * Add linux guard for cpu cache function prototypes. * Handle systems not providing cache details via sysfs * Dispense with cache.h. * get_contents(): Fixed resource leak. * Add --copy-file copy_file_range() stress test * Fix spelling mistake of "bandwidth" * Fix spelling mistake of "weird" in comment * man page: Fix formatting on vm stressor method table * Fixes for building on non-Linux platforms. * Add Linux support to specify cache type and size. * Fix column width of vm-method options * Fix column width of stream option description -- Colin King Tue, 26 Jan 2016 16:44:00 +0000 stress-ng (0.05.09-1) unstable; urgency=medium * Makefile: bump version * Fix incorrect position of \ in man page * stress-udp: fix UDP-Lite enable options * stress-af-alg: don't build for non-Linux systems * stress-udp: add error checking to setsockopt calls * Add auto detection of xattr.h to avoid build failures * Add auto detection of keyutils.h to avoid build failures * stress-numa: prefix abort message with stressor name * stress-udp: in UDP-Lite mode, limit checksum to 8 byte UDP header * Fix formatting of --hdd-opts in man page * Add --seek-punch option to punch holes in seek file * Add UDP-Lite option --udp-lite * Align bitfields in flags * stress-socketpair: handle ENFILE errors more gracefully * stress-filename: only emit filename information on instance 0 * Add fiemap stressor * stress-stream: kludge around a false positive from static analysis * Add --stream-l3-size option to specify stream L3 CPU cache size * stress-unshare: don't complain on -EINVAL * stress-stream: remove extraneous space between cache size and K * Use RESTRICT macro as an alias for __restict * Add stream memory bandwidth and computation stressor * Add 8 more bits to OPT_FLAGS * stress-aio: remove unused typedef * refactor random string filling using stress_strnrnd() * Add AF_ALG socket domain (hash) tester * Add more tracing perf events to --perf output -- Colin King Mon, 18 Jan 2016 11:07:02 +0000 stress-ng (0.05.08-1) unstable; urgency=medium * Makefile: bump version * Remove stress-leak.c, it was accidentally added * Update man page date * Debian control: Use dh_apparmor * Fix incorrectly placed #endif around TSEARCH * stress-iosync: (void)name if not building for Linux * stress-mlock: remove debug message * Add in options to *search stressors in mini built-in help * Add TSC read stressor * Remove some redundant (void)var statements * stress-get: rename gettid to sys_gettid to avoid name clash * Move uint64_put and double_put from helper.c to stress-ng.h * Rename macros STRESS_{MIN|MAX} -> STRESS_{MINIMUM|MAXIMUM} * Update debian copyright to 2016 * Update copyright year to 2016 * stress-iosync: don't close -ve fd -- Colin King Wed, 6 Jan 2016 15:22:12 +0000 stress-ng (0.05.07-1) unstable; urgency=medium * Makefile: bump version * stress-yield: include signal.h to build on FreeBSD * Exclude stressors that cannot be run * stress-matrix: add copy and mean methods * stress-yield: ensure at least 2 child processes per CPU * Update syscalls.txt with syncfs * stress-key: remove if def'd debug code * stress-iosync: add syncfs() for Linux only * Add --sock-nodelay option to disable the Nagle algorithm * stress-socket: split out client/server code into separate functions * stress-exec: remove (void)name; * stress-dentry: add 'random' ordering option * stress-affinity: set initial cpu to instance number * stress-clock: output name of clock timer id on error * Add --temp-path option * Debian/control: change priority because of apparmor dependency * Add apparmor to excluded adt tests * Add sendmsg and sendmmsg to syscalls.txt * Add --sock-opts option -- Colin King Sat, 26 Dec 2015 17:34:00 +0000 stress-ng (0.05.06-1) unstable; urgency=medium * Makefile: bump version * Makefile + stress-apparmor: generate binary data using od and sed -- Colin King Thu, 24 Dec 2015 00:10:00 +0000 stress-ng (0.05.05-1) unstable; urgency=medium * Makefile: bump version * Makefile: --no-print-directory is required when make calls itself * Add apparmor as a build dependency * Makefile: Add test-apparmor.c usr.bin.pulseaudio.eg to make dist dist * stress-seccomp: stop build warnings on systems without seccomp * Ensure test-appormor build test covers the aa API * Remove mwc_seed from mwc.c * Add load average stats to --times option * inline mwc_seed, faster and shrinks text size a bit * stress-apparmor: perform some more devious corruption actions * Debian: control: dependency should be libapparmor-dev * stress-spawn: move spawn_calls to correct accounting stats * Add a posix-spawn stressor * Add unshare stressor * stress-shm-sysv: ensure all shm_ids are initialised to -1 * Update Makefile to autogenerate AppArmor binary blob * stress-apparmor: add some random bit corruption * stress-apparmor: add profile add/replace/remove stressing * Debian: control: add libapparmor1 dependency * stress-apparmor: #if def global vars * README: Add note about requiring GNU make * Add initial simple AppArmor test, more features later -- Colin King Wed, 23 Dec 2015 13:58:00 +0000 stress-ng (0.05.04-1) unstable; urgency=medium * Makefile: bump version * stress-userfaultfd: fix 32 bit build warning * stress-shm: replace strides of 4096 with page size * stress-shm-sysv: replace strides of 4096 with page size * stress-mremap: replace strides of 4096 with page size * stress-mmap: replace strides of 4096 with page size * stress-bigheap: make stride the page size * parse-opts: ensure_positive: don't reassign ptr twice * stress-daemon: close dup'd fds on exit * Add daemon stressor * Move set_proc_name into helper, remove proc-name.c * helper: make timer slack also depend on __linux__ * stress_mlock_region: constify args * stress_get_stack_direction: constify arg * Remove coredump, merge functionality into helper * Update README * syscalls: add mlock2 * stress-mlock: add support for mlock2 * stress-aio: clear io_reqs before use and disable handler later * stress-rename: rename between directories -- Colin King Mon, 14 Dec 2015 16:10:00 +0000 stress-ng (0.05.03-1) unstable; urgency=medium * Makefile: bump version * stress-seccomp: avoid build failures on arm64 targets -- Colin King Sat, 5 Dec 2015 10:04:23 +0000 stress-ng (0.05.02-1) unstable; urgency=medium * Makefile: bump version * stress-get: define _DEFAULT_SOURCE to stop gcc 5.2.1 warnings * Add new seccomp stressor * stress-mmap: fix thinko, init no_mem_retires in correct place * stress-shm-sysv: add more allocation smarts * stress-shm-sysv: add mmap failure abort and OOM counting * stress-shm: add mmap failure abort and OOM counting * stress-seek: set a usable upper seek limit for 32 bit arches * stress-mmap: add mmap retry mechanism if we can't mmap memory * stress-memfd: trap SIGBUS as well as SIGKILL for OOM catching * stress-vm: add spacing on OOM restarts message * stress-malloc: add spacing on OOM restarts message * stress-memfd: add spacing on OOM restarts message * stress-vm: add mmap retry mechanism if we can't mmap memory * refactor stack direction checking function * stress-personality: fix warning on %lu being used on a size_t * stress-ptrace: re-enable this stressor and fix up pr_failed_* macro * Enable personality stressor -- Colin King Fri, 4 Dec 2015 12:49:02 +0000 stress-ng (0.05.01-1) unstable; urgency=medium * Makefile: bump version * stress-shm: break out of loops when ok is false * stress-fcntl: make F_SETOWN and F_GETOWN linux only for now * helper: fix warning on FreeBSD, unused args caused warnings * stress-switch: force more context switches * stress-pipe: add pipe-data-size and pipe-size options * stress-seek: only report error if SEEK_DATA/SEEK_HOLE supported * stress-seek: add SEEK_DATA and SEEK_HOLE seeks * syscalls.txt: add new userfaultfd syscall * Manual: note that userfaultfd is only for Linux * Add new userfaultfd stressor * stress-membarrier: rename pr_failed_err -> pr_fail_err * stress-cpu: force more jmps in cpu-jmp method * stress-brk: add occasional brk shrink to add a bit more variety * stress-shm-sysv: use some more random shm flags * stress-mmap: use some more random mmap flags * stress-fallocate: add some more fallocate modes * Rename pr_failed_* macros to pr_fail * log: rename logging functions * log: don't be silent when we have failure messages * stress-filename: Add more error handling feedback * Update debian/rules: enable debian build flags * Fix buffer not null terminated error with strncpy * Add filename stressor * Add --timer-slack option to adjust timer slackness * disable core dump via prctl() to avoid massive core files * Signal to child processes if parent has died. * log: make variables static -- Colin King Mon, 30 Nov 2015 10:55:00 +0000 stress-ng (0.05.00-1) unstable; urgency=medium * Makefile: bump version to 0.05.00, update codename * man page: fix wrapped line so 'lsearch' is not seen as a macro * shm stressors: make final write failures a debug message * shm stressors: exit child stressor if pipe write fails * Add POSIX shared memory stressor * stress-qsort: fix resource leak on error return path * man page: make it 80 column tty friendly * stress-qsort: bail out when SIGALRM triggers * stress-rlimit: disable handlers once we finish to avoid setjmp looping * log: remove debug cruft * Add --log-file logging option * stress-sem*: remove ; after while loop * stress-icache: force cache clear using __clear_cache * Make source more 80 column friendly * manual: clarify number of cpus * madvise: fix typo * stress-shm-sysv: make shm cleanup robust * stress-ng: remove setpgrp() calls * stress-sem-sysv: handle signal during setup phase correctly * stress-sem: handle signal during setup phase correctly * fix -k option: it does not require a parameter * stress-procfs: use non-blocking open -- Colin King Wed, 18 Nov 2015 23:05:00 +0600 stress-ng (0.04.21-1) unstable; urgency=medium * Makefile: bump version * Fix man page --handle options, errors found by lintian * Makefile: add personality.c to dist rule * Add dep8 tests * Add membarrier to syscalls.txt * Fix spelling mistake in membarrier error message * Add membarrier stressor * stress-sysfs: make sysfs reader more stressful * stress-procfs: make proc fs reader more stressful * Makefile: remove -g option * Add new lockbus cache line stressor * stress-get: add adjtime() call * Add utimes(2) call to stress-utime * stress-mq: also exercise mq_timedreceive * stress-key: don't abort on EDQUOT for a KEYCTL_UPDATE * Update syscalls.txt * Manual: update contributor list * stress-cpu: check complex supported by C lib (LP: #1500349) * Add handle stressor * stress-socket: add nagle disable build option * Move ionice options in manual to general settings section * Move --syslog option in manual to general settings section * Add stress-personality personality() stressor * Add mknod stressor * Add stress-exec execve stressor * stress-sysfs: add access() check on file -- Colin King Mon, 2 Nov 2015 17:03:00 +0600 stress-ng (0.04.20-1) unstable; urgency=medium * Makefile: bump version * cater for system V and BSD variants of setpgrp * stress-fifo: avoid blocking on reader to avoid deadlock (LP: #1497268) * stress-readahead: give feedback on premature exit * stress-aio: no need to free io_reqs, its now on the stack * Put all child processes under the parents process group ID (LP: #1497236) * Remove SIGUSR1 and SIGUSR2 trapping, we don't need to trap these * stress-fifo: check for run flag in child loop * stress-eventfd: check for run flag in child loop * stress-epoll: check for run flag on recv loop * stress-mq: check for run flag in child loop * stress-msg: check for run flag in child loop * stress-pipe: check for run flag in child loop * stress-sigfd: check for run flag in child loop * stress-socket: check for run flag in child loop * stress-switch: check for run flag in child loop * stress-tee: check for run flag in child loop * stress-vm-rw: check for run flag in child loop * stress-sigq: check for run flag in child loop * stress-kcmp: check for run flag in child loop * stress_sigsuspend: check for run flag in child loop * stress-socket-pair: check for run flag rather in child loop * stress-pipe: bail out on zero byte pipe reads (LP: #1496966) * stress-futex: bail out after 0.5 seconds of failed waits (LP: #1496963) * stress-clone: remove CLONE_VM unsharing (LP: #1496957) * stress-sigsuspend: remove spinlock to remove contention (LP: #1496439) * Put stack in per clone struct, reduce stack size * stress-aio: cancel signal handler at end of test (LP: #1496340) -- Colin King Fri, 18 Sep 2015 15:38:00 +0100 stress-ng (0.04.19-1) unstable; urgency=medium * Makefile: bump version * stress-cpu: data and idct should be floats for idct (LP: #1495882) * stress-cpu: use hex initialisers for G constants instead of binary * stress-numa: fix out of bounds memory read on ARM64 (LP: #1495761) -- Colin King Tue, 15 Sep 2015 10:43:11 +0100 stress-ng (0.04.18-1) unstable; urgency=medium * Makefile: bump version * Fix singular/plural of "stressors spawned" message (LP: #1494797) * stress-ureadahead: provide feed back when timeout occurs (LP: #1494784) * stress-timer, itimer: fix termination hangs (LP: #1494751) -- Colin King Fri, 11 Sep 2015 16:24:42 +0100 stress-ng (0.04.17-1) unstable; urgency=medium * Makefile: bump version * stress-fstat: open devices with O_NONBLOCK (LP: #1493717) * stress-epoll: ensure addr is initialised to NULL * stress-vm: Add sanity check for rowhammer sizes * stress-timer: fix incorrect setting of timer * stress-itimer: fix incorrect setting of timer * stress-shm-sysv: remove dead initialisation of sz * stress-hsearch: remove dead initialisation of max * thermal-zone: remove dead initialisation * stress-epoll: remove redundant retries assignment * stress-socket: remove redundant retries assignment -- Colin King Wed, 9 Sep 2015 09:08:00 +0100 stress-ng (0.04.16-1) unstable; urgency=medium * Makefile: bump version * Don't build in stress-clone features if clone() not available * stress-clone: add unshare call * stress-get: add timex info get * Update syscalls.txt with clone * Add clone stressor * Add the 8-queens solver to the CPU stressor * stress-key: add build checks on KEYCTL_* features -- Colin King Mon, 7 Sep 2015 10:03:00 +0100 stress-ng (0.04.15-1) unstable; urgency=medium * Makefile: bump version * Fix --vm-keep, it should be setting opt_flags * Update man page contributions -- Colin King Mon, 17 Aug 2015 08:41:00 -0700 stress-ng (0.04.14-1) unstable; urgency=medium * Makefile: bump version * Debian: control: don't depend on libkeyutils-dev for some arches * Don't parse NULL exclude list -- Colin King Thu, 30 Jul 2015 12:48:00 +0100 stress-ng (0.04.13-1) unstable; urgency=medium * Makefile: bump version, change code name * Move exclude parsing after we have parsed all the stressor options * stress-ng: fix unitialised n, found by clang * stress-key: handle clean up when we bail out early * stress-stack should not be part of the CPU stress class * Add the -x, --exclude test exclusion option * Add libkeyutils-dev to debian control * Update syscalls list * Add key stressor (keyctl, add_key) * stress-kcmp: bail out early after 5 kcmp test failures per instance * Remove some trailing white spaces from lines * stress-vm: replace logic with simplified version * stress-vm: parenthesis around macro definition * stress-rdrand: add more useful debug stats * Add instruction cache stressor * helper: fix spelling mistake * Manual: fix a few spelling mistakes * stress-str: make index a register size_t type * stress-wdstr: make index a register size_t type * stress-wait: tidy up formatting of function args * stress-mmapmany: use STRESS_MAX macro * stress-mmapfork: minor variable cleanup * stress-inotify: make mk_filename static * stress-matrix: replace #defined MATRIX_TYPE with typedef * coredump: make string static * mounts: make mount_add static, clean up code a bit * Put MIN/MAX macros into stress-ng.h * Small amount of white space empty line clean up * Unify SET/GET/CLR macros * stress-futex: move futex info into futex struct * stress-sem-sysv: move sem sysv info into sem_sysv struct * stress-sem-posix: move sem and init into sem_posix struct * stress-xattr: add flistxattr calls * Minor change to error message * Fix typo in man page, exerised -> exercised * stress-mq: use correct stressor name in dbg messages * stress-mq: add occasional use of mq_getattr() * Only call perf_* if --perf is actually being used * yaml: times and system-info are not arrays, but lists * Add perf tracepoint events * coredump: pid_t should be %u rather than %d, pids are not -ve * stress-mlock: avoid using void * ptr arithmetic * helper: fix signum comparisons, use && instead of || * stress-cache: don't keep fetching number of cpus available * stress-affinity: don't keep fetching number of cpus available * Make u_time, s_time, t_time, u_pc, s_pc, t_pc doubles * thermal-zone: cast to double rather than float * stress-cpu: ensure we don't get double promotion issues * minor adjustment to whitespace/tab indentation * perf: fix spelling mistake: Aligment -> Alignment * stress-cpu: add C union bit field stressor * Really ensure we don't report perf counters if they are not available * stress-sigfd.c: Fix compile warning * stress-sigfd: user SIGRTMIN instead of SIGUSR1 * coredump: remove redundant code * stress-mlock: clarify cast to void, ensure we are not doing void * math * stress-socketpair: reduce the scope of variable ret * stress-rlimit: reduce scope of variable ret * stress-fcntl: put each fcntl cmd into its own block * stress-brk: reduce scope of ptr * stress-cpu: reduce scope of loop variable * Add more system info to yaml output to help with test result gathering * stress-getrandom: cater for builds without the syscall defined * stress-aio-linux: clean up syscalls * Clean up memfd syscall wrapper * perf: call perf_event_open via a wrapper rather than direct syscall * stress-getrandom: rename __getrandom to sys_getrandom * stress-kcmp: break out early if we get multiple ENOSYS errors * Fix spelling mistake 1Mhz -> 1 MHz * README: fix spelling mistake * stress-kill: fix typo in comment * Remove 64 byte alignment on shared region, it does not save much * Tidy main vars up, add more comments, make ticks_per_sec int32_t * Add STRESS_ASSERT macro to catch incorrect stressor array size * Make quota block devices message a little clearer and fix typo * Use %s instead of %d in stress-malloc signum printing * Forgot to include signal.h in helper to get NSIG define * Print signal death number as human readable string * Warn user if cwd is not read-writeable * Show process name when a stressor process exits with an error * Fix typo "quotctl" -> "quotactl" in man page -- Colin King Wed, 29 Jul 2015 17:10:10 +0100 stress-ng (0.04.12-1) unstable; urgency=medium * Makefile: bump version * Fix segfault in metrics because MMAPFORK macro not defined correctly * Add --cpu-load-slice option for CPU stressor time slice tweaks * Minor re-organising of main globals and make ints into int32_t * stress-ng.h: extern some misc funcs * stress-pthread: make stress_pthread_func static * stress-lockf: make lock helpers static * stress-epoll: mlock handle_socket_sigalarm * stress-context: make stress_context_init static -- Colin King Wed, 15 Jul 2015 00:44:00 +0100 stress-ng (0.04.11-1) unstable; urgency=medium * Makefile: bump version * Add README and README.Android to make dist rule * Add README * Add Android porting notes, thanks to M.Srikanth Kumar. * For now, enable ptrace stressor for just linux * Remove unwanted sys/regs include from ptrace stressor * Make mmapfork help and options build on STRESS_MMAPFORK * Don't build ptrace stressor for GNU/HURD * Fix stress-mmapfork builds on non-Linux systems * Add ptrace stressor * Use -pthread rather that -lpthread to allow for static builds * stress-aio: cast to (long) for aio_buf for 32/64 bit portability * Update syscalls.txt with sigsuspend * Add sigsuspend stressor * Update syscalls.txt w.r.t obsolete wait3, wait4 calls * Add sigpending stressor * stress-symlink: add readlink to symlink stressor * Add getpeername call to sock stressor * stress-quota: ensure we closedir on dir on error exit path * stress-socket: initialise len to be sizeof(addr) * stress-socket: fix fd resource leak * Add mmapmany fork + mmap VM stressor * Re-order MEMFD in header * Add --yaml option to output data to a structured YAML file * socketpair: handle shutdown when we've maxed out socket fds * stress-sysinfo: Move ret so checks work on non-Linux systems * stress-sysinfo: fix build for non-Linux systems * Re-enable xattr tests * Update syscalls.txt, add getcpu * stress-numa: clean up code, add getcpu call * Update syscalls.txt with getsock* calls * stress-socket: correct dbg error text * stress-socket: call getsockopt() for more stress overhead * stress-socket: call getsockname() for more stress overhead * stress-quota: improve error handling reporting * stress-quota: minor resource leak and stat checks * Update syscalls.txt with quotactl * Add stress-quota quotactl stressor * Make SIEVE macro not size dependent * stress-aio-linux: change finish label, fixes close of fd -1 * Update syscalls.txt * Add a fcntl stressor * Re-order HDD and HSEARCH in stress-ng.h * Correct man page concerning the 0 stressor option * Use _SC_NPROCESSORS_CONF stressors when zero stressors selected * Update syscalls with NUMA test update * Add some NUMA clarifications in the manual * Add NUMA stressor * stress-lockf: re-align a comment * stress-kill: improve comment on kill on -1 pid * syscalls - rename aioabi to aiol * Add fstatvfs to sysinfo test * Add Linux asynchronous I/O io_* system call stressors * Add shutdown to syscalls * stress-socket: add socket shutdown * stress-socketpair: close with shutdown, don't use magic string * Update syscalls.txt * Make socket pair even more stressy * Close pipe, and don't report error on EPIPE as that is expected * Add socketpair stressor * Try to mlock all sig handlers and critical code into memory * If a fork fails, set pid num to zero to avoid killing pid -1 * Make log type name fields the same width * Change "stressors started" to "stressors spawned" * Emit perf not enabled message just once. * stress-brk: remove incorrect free on ptr -- Colin King Tue, 14 Jul 2015 10:20:00 +0100 stress-ng (0.04.10-1) unstable; urgency=medium * Makefile: bump version * Fix typo in macro, STRESS_UPD_FLOOD -> STRESS_UDP_FLOOD -- Colin King Thu, 2 Jul 2015 14:40:00 +0100 stress-ng (0.04.09-1) unstable; urgency=medium * Makefile: bump version * Make stress-udp-flood build dependent on AF_PACKET being defined * stress-udp-flood: close fd, fixes resource leak * Add UDP flood stressor * Stress up to number of cpus configured not number that are online * Avoid crazy temperatures in thermal zones * Move syslog help to correct section -- Colin King Thu, 2 Jul 2015 10:45:00 +0100 stress-ng (0.04.08-1) unstable; urgency=medium * Makefile: bump version * Only call tz_free() if STRESS_THERMAL_ZONES defined * Rename dump_* to *_dump * perf: re-organise, move dump into perf.c, more #if checks * Add --tz thermal zone option -- Colin King Wed, 24 Jun 2015 15:12:00 +0100 stress-ng (0.04.07-1) unstable; urgency=medium * Makefile: bump version * Make stress-sem conditional on STRESS_SEMAPHORE_POSIX * Make semaphore stressors linux only because of timeout * stress-sem: remove verbose timeout info, it can spam the output * stress-sem-sysv: Add timeout to semaphore wait * stress-sem: Add timeout to semaphore wait * stress-sem-sysv: ensure parent is waiting and not thrashing * stress-sem: ensure parent is waiting and not thrashing * stress-sem: remove verbose timeout info, it can spam the output * stress-sem-sysv: Add timeout to semaphore wait * stress-sem: Add timeout to semaphore wait * stress-sem-sysv: ensure parent is waiting and not thrashing * stress-sem: ensure parent is waiting and not thrashing -- Colin King Thu, 18 Jun 2015 16:34:00 +0100 stress-ng (0.04.06-1) unstable; urgency=medium * stess-sysfs: Do not read sysfs files when running as root (LP: #1464073) -- Colin King Fri, 12 Jun 2015 09:44:00 +0100 stress-ng (0.04.05-1) unstable; urgency=medium [ Colin Ian King ] * Makefile: bump version * mincore: fix build for GNU/HURD; make it a no-op * stress-mlock: don't build in munlockall for GNU/HURD * stress-mlock: don't build in mlockall, munlockall for GNU/HURD * Fix MINCORE dependency for GNU/HURD * Ensure maximum sizes don't exceed 4GB-1 for 32 bit systems * stress-crypt: only use re-entrant crypt_r on Linux for now * Make madvise build on non-GNU/HURD systems * Add perf reference in manual, update date * stress-vm-rw: zero msg_wr just to be totally safe * stress-crypt: use reentrant crypt_r to avoid any memory leaks * stress-zombie: free items on list head on exit * stress-lockf: free items on list head on exit * stress-wcstr: fix incorrect wide string size * Add int8, int16, int32 and int64 versions of mwc*() * Move results emitting code into dump_* functions * Increase various stressors upper memory limits * Make --aggressive force more CPU migrations and context switches * Fix comment for stress_get_ticks_per_second * perf: enable inherit flag to trace children * Update syscalls.txt with perf and getrandom * Add the new --getrandom stressor * Fix sigq options, missing because not using STRESS_SIGQUEUE * Add Christian Ehrhardt to the contributors list on man page * Fix help -h option, was --h, should be -h [ Christian Ehrhardt ] * stress-ng: avoid builtins when libs shall be tested * stress-ng: add stressor for wide character string operations * stress-ng: fix string names * stress-ng: avoid compiler error in stress-vector * stress-ng: fix EPOLL build -- Colin King Tue, 2 Jun 2015 20:35:00 +0100 stress-ng (0.04.04-1) unstable; urgency=medium * Makefile: bump version * stress-hdd: make buffer in read/write helpers uint8_t * * log: Reduce the scope of n, clean up cppcheck style warning * perf: cater for zero time_running case, avoid division by zero * Add --log-brief option to make output less verbose * print perf counters as , separated decimals * perf: scale using lookup table, add in quintillions * perf: Add back PERF_FORMAT_GROUP, we get wrong stats otherwise * perf: re-work to allow for more HW perf counters * Don't build in stress-context for OpenBSD * perf: fix build errors on GNU/HURD * Add --perf option * Fix STRESS_VECTOR, use the NEED_GNUC macro * Add context stressor to stress context switch save/restores -- Colin King Sun, 31 May 2015 13:33:00 +0100 stress-ng (0.04.03-1) unstable; urgency=medium * Makefile: bump version * Forgot to include new OPT_FLAG #defines * Allow --class option to specify a list of classes * Allow --seq and --all modes to have --class option * Make break stress help into generic and per stress test sections * stress-epoll: fix spelling mistake in comment "incomming" * Manual: break options into stress-ng specific options and stressors * Make sysfs conditionally compile on STRESS_SYSFS * Add sysfs stressor * Fix oom error message with corrupt name because name is not yet set * stress-cpu: dither: correct min x boundary check, off by 1 * Change scope of variables in stress_cpu_parity * stress-cpu: stash d and l to overcome over optimization * Call "stressors" workers * Manual, call stressors and processes "workers" * Sync up syscalls.txt with latest changes to stressors * Add chdir stressor * Add syncfs option to hdd stressor * stress-mlock: add mlockall/munlockall stressing too * Add fsync, fdatasync hdd stressor options * stress-cpu: add rand48 random number generator family cpu method * Add human readable time duration to results output -- Colin King Thu, 21 May 2015 16:24:00 +0100 stress-ng (0.04.02-1) unstable; urgency=medium * Makefile: bump version * stress-cpu: Add dithering stress cpu method * stress-cpu: re-order cpu methods * stress-cpu: Add parity computation method * Fix in-built help in a few places * Fix typo in manual, crc -> crc16 -- Colin King Mon, 11 May 2015 10:52:00 +0100 stress-ng (0.04.01-1) unstable; urgency=medium * Makefile: bump version * stress-rlimit: for now, make this Linux only * stress-rlimit: add loop limit checking * stress-mlock: report mlock failure with pr_failed_err() * stress-itimer: remove the build dep on STRESS_TIMER * stress-ng: Fix --seq mode * Add resource limit stressor, stress-rlimit * stress-chmod: use creat instead of open * Makefile: sort order of sources, stress-yield, stress-xattr * Add itimer stressor * Fix typo: mimcore -> mincore * Add mlock stressor * stress-stack: Don't need alloc.h included, it comes in stdlib.h -- Colin King Mon, 4 May 2015 21:08:00 +0100 stress-ng (0.04.00-1) unstable; urgency=medium * Makefile: bump to version 4.0, update codename * Update syscalls.txt with more annotations * stress-hdd: forgot to include sys/uio.h * mincore: cater for BSD mincore API difference * Move do_wait inside #if/#endif to avoid warning on BSD systems * Manual: sort --hdd-opts options * stress-hdd: add utimes metadata update --hdd-opts option * stress-xattr: also use fgetxattr * stress-dup: add dup2 call on same fd * stress-verify: refactor verify checking, small optimisation * stress-timer: add timer overrun accounting * stress-chmod: fix retries abort check * Re-order stack-fill option in table * Manual: fix spelling mistake, maxiumum -> maximum * stress-memfd: initialize fd and maps for correctly cleanup handling * Update syscalls.txt (added timerfd, minor other tweaks) * Add timerfd stressor * stress-timer: Fix random timers to adjust correctly by randomized rate * stress-memfd: make bogo ops match iterations rather than per memfd-create * Add stress-memfd stressor and fix mincore/pagein builds * Update syscalls.txt with a fuller set of syscalls * stress-get: add calls to time() and utime() * Add aggressive mode CPU affinity changing * stress-affinity: add a yield to push IPIs up * Make inotify test depend on glibc 2.9 or higher * Make aio test depend on glibc 2.1 or higher * Make affinity test depend on glibc 2.3.0 or above * Update syscall.txt with readv/writev * Add iovec readv/writev mode to --hdd-opts * stress-sem: don't report EINTR as an error on sem_wait * stress-chmod: give up of we took too many tries to create file * stress-epoll: add more delay on re-try connect failures * stress-epoll: use a saved errno to report error * Handle fork() EAGAIN correctly by re-trying * stress-lease: correct and improve failure error messages * stress-wait: increase wait timeout to 8 seconds * stress-inotify: break out of init loop if end of tests, increase retries * stress-sysinfo: make EACCES non-fatal error on stat -- Colin King Mon, 27 Apr 2015 13:24:00 +0100 stress-ng (0.03.22-1) unstable; urgency=medium * Makefile: bump version * stress-eventfd: check if termination flag set * stress-tee: handle EINTR in tee() * Make timeval_to_double an inlined func * stress-sigfd: return rather than _exit() on error -- Colin King Sat, 18 Apr 2015 13:04:00 +0500 stress-ng (0.03.21-1) unstable; urgency=medium * Makefile: bump version * stress-crypt: fix build on FreeBSD * stress-mmapmany: include signal.h to stop build warnings * Make features.h dependent on GLIBC * Make help info less than 80 chars wide * stress-lockf: explicitly ignore return from waitpid and kill * Add device, filesystem and pipe classes, re-classify some tests * stress-pthread: fix comment * Only allow futex test if system call is defined * Check if rdrand is supported if sequential mode selected * Make stress-lockf more aggressive with more concurrent locking * Rename NEED_GLIB to NEED_GLIBC and use on newer system calls * Add tee stressor * Fix wait spawn to return pid_t rather than int * Fix sem spawn to return pid_t rather than int * Fix sem-sysv spawn to return pid_t rather than int * Fix lease spawn to return pid_t rather than int * Fix fifo spawn to return pid_t rather than int * Fix epoll spawn to return pid_t rather than int * Fix typo: _GNUC__ -> __GNUC__ * Add crypt stressor * Add --timer-rand option for more of a mix in timer scheduling * Fix uninitialised timer frequency in stress-timer * Fix typo in manual * Check for fork EAGAIN failure, polled retry * Add mmanmany stressor * The current VFORK build check fails, just make it build w/o checks for now * Add zombie stressor - fill up process table with children wait to be reaped * stress-null: fix comment * Don't define HOT and OPTIMIZE3 for older versions of GNUC * Add glibc and gcc version macros, use them for rdrand and vm-rw stressors * Add depends on libattr1-dev * Option --readahead-bytes should only built in if readahead supported * stress-cpu: Use more optimal gray to integer conversion * stress-cpu: minor tweaks to ensure optimizer does not over optimize * Add and use OPTIMIZE3 -O3 macro * Forgot to add the --str-method to the help * Add the str string stressor * stress-xattr: fix incorrect clean up path on error * Add HOT macro, add it to cpu intensive busy loops * stress-readahead: build only if readahead allowed on system * Add xattr stressor * stress-kill: Add some more kill variations * Update syscalls table * stress-mmap: unmap buf, fixes resource leak * Add readahead I/O stressor * Add deep function call cpu stressor method * stress-vm: add rowhammer memory stressor -- Colin King Tue, 14 Apr 2015 16:15:00 +0500 stress-ng (0.03.20-1) unstable; urgency=medium * Makefile: bump version * sched: Fix build warning on get_sched_name on GNU HURD * stress-hdd: Fix incorrect format specifier %zu for a uint64_t * stress-fallocate: Fix off_t printf warnings on 32 bit GNU HURD * Fix resource leak (file descriptor) on error exit of stress-hdd * Fix Manual, clarify the action of hdd stressor * stress-aio: reduce scope of ret * Fix missing stressor name in pr_err() messages * Fix missing stressor name in pr_inf() and pr_dbg() messages * Fix missing stressor name in pr_fail() messages * stress-hdd: fix verify mode for hdd stressor * stress-hdd: fix missing read if no read preference specified * sched: fix default priority levels and lack of class name in messages * stress-hdd: fix read of end of file when generated with random writes * Fix extraneous leading space after the "hogs:" message * stress-hdd: fix false error reports on short reads * stress-hdd: fix noisy "incomplete reads" debug message * stress-fallocate: fix incorrect errors reported on fallocate sizes * stress-fallocate: fix error messages, they are rather meaningless * stress-aio: report correct errno on async error * stress-aio: handle EAGAIN and EINTR correctly * stress-hdd: POSIX_FADV_RND should be POSIX_FADV_RANDOM -- Colin King Thu, 26 Feb 2015 17:17:00 +0000 stress-ng (0.03.19-1) unstable; urgency=medium * Makefile: bump version * stress-sem: fix spelling mistake in comment: destory -> destroy * Manual: fix spelling mistake: successfull -> successful * Manual: fix typo: summaries -> summarise * Manual: vecmath: Replace x with \(mu multiply sign for correct formatting * Manual: Fix udp port description, add the default base port being used. * Manual: remove deprecated --hdd-sync option * Manual: fix typo: mremmap -> remap * Manual: Replace x with \(mu multiply sign * Manual: Fix typo: randonly -> randomly * Manual: Fix spelling mistake: hightest -> highest * Manual: Correct description for --fifo option * Manual: Fix spelling mistake and epoll_wait section * Rename id to s_id to stop variable shadowing * Move scope of j, removes shadowing of j too. * stress-aio: clean up clang warnings on integer conversions * Re-format and slightly re-word debian control description text * Remove trailing white spaces from lines and empty lines * Remove duplicated changelog entries * Fix macro expansion overflows on 32 bit architectures * stress-matrix: clean up some more cppcheck style warnings * stress-longjmp: move counter c, cleans up cppcheck style warning * stress-inotify: fix buffer bounds checking on inotify input * stress-ng: remove some debug that never got printed * stress-pipe: ret should be ssize_t * stress-hdd: ret should be ssize_t * stress-mmap: better error handling on write * out-of-memory: add better write error checking * stress-null: better error handling on write * stress-lockf: better error handling on write * stress-fault: better error handling on write * stress-vm-rw: better error handling on read/write * stress-sigfd: better error handling on read * stress-seek: better error handling on read/write * stress-procfs: better error handling on read * stress-poll: better error handling on read/write * stress-pipe: better error handling on read/write * stress-inotify: better error handling on read/write * stress-hdd: better error handling on read/write * stress-switch: cater for zero write w/o error * stress-fifo: better error handling on read/write * stress-pipe: better error handling on read/write * stress-urandom: better error handling on read * stress-zero: better error handling on read * stress-eventfd: better read/write handling * print correct number of hogs when --class is used -- Colin King Mon, 23 Feb 2015 15:58:00 +0000 stress-ng (0.03.18-1) unstable; urgency=medium * Makefile: bump version * Move order of hadamard matrix method, now in alphabetical order * Fix macro typos - STESS -> STRESS (LP: #1423241) * Add in matrix info into help -- Colin King Wed, 18 Feb 2015 16:08:00 +0000 stress-ng (0.03.17-1) unstable; urgency=medium * Makefile: bump version * Fix name clash on union on *BSD systems * Explicitly ignore return from wait*() calls by (void) cast * Add minimize/maximize to matrix size * Add --cache-prefetch option * Make opt_sequential int32 and print out hogs if --seq is being used * Handle builds for system calls that don't exist * stress-vm-rw: include missing header * Ignore args in kcmp for systems that don't support this call * Forgot ULL after fibonacci uint64_t assignment, warning on 32 bit mips * Add longjmp stressor * Constify a few more function args * Add in some shifts to vecmath * Constify a few more func args * Make cache no-ops into do {} while (0) statement * Move PR_* bit flags to bottom nybble, makes stress-ng smaller * Fix spelling mistake in manual: subtrace -> subtract * Forgot to capitalise the matrix product methods * Add two more matrix product methods * man page: long double floats -> floats for matrix * Add matrix stressor with a bunch of stressor methods * stress-shm-sysv: initialise shm_ids as -1 to indicate not set * Use semun union when passing values to semctl, fixes powerpc segfault * stress-rdrand: move #includes to fix build warning on ARM * Make mallopt code depend on GNUC and linux * Reduce MAX stress-fallocate allocation size for 32 bit systems * Move #includes in io-priority to stop build warnings * Add --malloc-thresh tuneable option * Used #if defined(...) consistently. * Munge stressor names when showing hoggers * Remove repeated #if defined() checks, simplify them into stress-ng.h * Add another example to the manual * Increase maximum lease breakers * stress-lease: max sure the pid array is large enough * Add --aggressive option * Don't print null string of no hogs listed when dispatching hogd * Add --minimize and --maximize options * Add --stack-fill option * Update syscalls.txt with recently added syscalls * stress-fallocate: only use fallocate if FALLOC_FL_* defined * stress-fallocate: employ linux fallocate on linux builds * Add --fallocate-bytes option -- Colin King Tue, 17 Feb 2015 18:28:00 +0000 stress-ng (0.03.16-1) unstable; urgency=medium * Makefile: bump version again * Fix missing .TP in man page * Re-work the "dispatching hogs" message to log atomically * Add --syslog option to log non-debug messages to syslog * stress-hdd: don't use strtok_r, we're not threaded * Just define KCMP_* ourselves, broken distros don't have linux/kcmp.h * stress-kcmp: close fd1, fix resource leak * Add kcmp stressor * Remove unnecessary { } * Remove redundant assignment of first enum to zero * Make --random 0 select the number of on-line CPUs * Forgot to make RDRAND check arch specific * Add check to see if rdrand is supported and skip stressor if not * stress-pthread: increase to 1024 pthreads per stressor * stress-pthread: handle error correctly; as from the return from pthread* * Make pr_failed more generic and make a new pr_failed_errno macro -- Colin King Fri, 13 Feb 2015 19:40:00 +0000 stress-ng (0.03.15-1) unstable; urgency=medium * Makefile: bump version * Don't make sieve static, it wastes space in the executable * Keep make quiet on builds that don't support _Decimal types * Makefile: more smarts to conditionally build stress-cpu * remove STRESS_FLOAT_DECIMAL * Try to build with _Decimal* floats, if fail, build without * Check for __int128 and _Decimal support * Don't complain about IPC_RMID failure if it's already been reaped * Don't report sem-op errors on EINTR * Only report OOM restarts and nomems if they actually occurred * stress-chmod: remove some unnecessary debug info * stress-socket: don't emit errno if EINTR * stress-udp: don't emit errno if EINTR * stress-chmod: only report number of retries if a retry occurred * stress-stack: handle OOM killer with monitoring parent * Add set_max_limits() to push user limits to maximum allowed * stress-cpu: re-work math stressors with macros * Add decimal{32|64|128} math ops in cpu stressor * Re-work floating point and complex floating point stressors * Re-work int stressors to use generic macro, and add int128 test -- Colin King Mon, 9 Feb 2015 23:28:00 +0000 stress-ng (0.03.14-1) unstable; urgency=medium * Makefile: bump version * Fix build warning for systems w/o _SC_PAGESIZE * Make semaphore creation non-fatal * Fix a few warnings on gcc 4.5.3 (NetBSD) * Make STRESS_SIGFD linux only * Re-order sendfile #define * Re-order hdd and hsearch #defines * Forgot to make futex linux only * Typo: replace __linux with __linux__ * Use pow since powl has less precision than advertised warning on FreeBSD * Forgot to remove mremap from help if non-Linux * Update manual, stress-mremap is linux only * Make mremap test linux only * stress-mremap: move to using page size helper * Add helper to get cpu clock ticks * Add number of processors online helper. * Add page size helper, we don't need to repeat the sysconf calls * Add malloc stressor * Add some more comments * Clean up BSD workarounds * stress-brk: wrap an overly long line * Add memory remapping stressor * Turn off madvise DONTNEED as it can cause us checking errors * Add another NetBSD long double workaround * stress-hdd - don't allow fadvise on GNU HURD * Add vmsplice stressor * Correct error message on pipe failure * Fix up latest stressors, re-order options and add vm-rw-* help * Add splice stressor * Add vm-rw stressor * Add read64 and write64 vm memory stress methods. -- Colin King Thu, 5 Feb 2015 15:22:10 +0000 stress-ng (0.03.13-1) unstable; urgency=medium * Makefile: bump version * Cater for non-existent long double math functions in NetBSD * mounts: forgot to handle NetBSD in mount detection * Make mounts build for NetBSD too * Disabled stress-wait for NetBSD - can't see how to do CONT sig wait * Cater for systems that do not have MAP_ANONYMOUS * Add NetBSD support to stress-stack * Make vector gcc'isms compile in for modern versions of gcc only * stress-hdd: void unused params * Also catch SIGILL for FreeBSD * Remove trapping of SIGILL * stress-qsort: fix cmp3 byte-wise re-ordering * include signal.h in stress-pthread to fix FreeBSD build * Minor source reformatting on stress-ng.c * Reduce the precision and number of iterations for nsqrt * stress-shm-sysv: also shrink and re-try if ENOMEM occurs * Add some feedback of shm-sysv had to shrink shared memory size * Cater for EINVAL on shmget if size is too large. * Mungify stressor names when invoking the stressor * Drop default System V shared memory size to 8MB for *BSD kernels * Add check for BSD invalid chmod mode bits error * Fix printing of stressor names, some names too long and _ -> - conversion * stress-cache: put { } braces around cflush and mfence * stress-mq: initialise mq to -1 to avoid gcc warning (false positive) * Add full read checks in stress-hdd read stressor loops * stress-hdd: remove debug cruft * Forgot to escape some - hyphens in manual * Stress-hdd: remove ad-hoc open flags, replace with --hdd-opts option * Manual: fix spelling, destory -> destroy * Add vector maths stressor * Man page: naive -> naïve * Manual, lease-breakers: for --> to * Don't handle SIGSEGV and SIGBUS * Don't build sem-sysv for GNU HURD * Add sections of man pages for sys calls and libc functions * Add System V shared memory stress test * Fix error path on SYSV sem creation - need to reap semaphore * Re-work POSIX sem test to be aligned with SYSV sem test * Remove POSIX semaphore header, not required * Add System V semaphore stressor -- Colin King Sun, 1 Feb 2015 15:22:10 +0000 stress-ng (0.03.12-1) unstable; urgency=medium * Makefile: bump version * Add udp to --help output * remove need to setup unix pathname in stress-socket * stress-epoll: use net helper funcs * stress-mq: memset msg to zero to stop valgrind complaining * Clear epoll_event struct; warning from valgrind * Add net helper functions, refactor udp and socket stressors * Add udp stressor * Reduce the minimum timer frequency to 1Hz * Remove duplicate error message in rdrand stressor * Correct error messages, removed "failed" and trailing "\n" * Clear alternative signal stack, stops cppcheck warning * Limit sscanf field to avoid overflows * Remove memory locking, it wasn't such a good idea after all -- Colin King Thu, 29 Jan 2015 11:49:00 +0000 stress-ng (0.03.11-1) unstable; urgency=medium * Makefile: bump version * Add --hdd-sync, --hdd-dsync, --hdd-direct, --hdd-noatime options * Add sigfd stressor * Move mount handling helper functions to mounts.c * Add --brk-notouch option * Account of out of memory nomems in stress-brk * Explicitly ignore *close*() failures with (void) cast * Update copyright at end of manual * Update syscalls.txt with brk/sbrk calls * Add a brk stress tester and --brk, --brk-ops options * Fix incorrect comment on bigheap stressor function -- Colin King Sun, 25 Jan 2015 14:23:00 +0000 stress-ng (0.03.10-1) unstable; urgency=medium * Makefile: bump version * Make mask ptrdiff_t and cast to allow clean 32 bit build * Use ptrdiff_t for addr math * Remove need for ms_flags if building for GNU HURD * Cater for GNU HURD not supporting mincore() * Cater for msync not functioning for GNU HURD * Add --mincore-random option * Update syscalls.txt with mincore test * Remove the page reading from mincore * Add mincore stressor -- Colin King Sat, 24 Jan 2015 13:43:00 +0000 stress-ng (0.03.09-1) unstable; urgency=medium * Makefile: bump version * Add bounds checking on data from /proc * Make stress-mq a no-op for non-Linux * Update syscalls table * Make mq a linux only stressor * Add mq stressor for POSIX message queues * Add --mmap-protect page protection settings option * Add the chmod stressor -- Colin King Tue, 13 Jan 2015 11:54:00 +0000 stress-ng (0.03.08-1) unstable; urgency=medium * Makefile: bump version * Update copyright year to sources * Add epoll stressor * stress-vm: reduce scope of addr * stress-mmap: clarify calculation precedence of & in ternary expr * stress-memory: reduce scope of addr * Fix --sequential mode, correctly set up number of procs and pid list -- Colin King Fri, 2 Jan 2015 09:57:11 +0000 stress-ng (0.03.07-1) unstable; urgency=medium * Makefile: bump version * Fix pluarity of --lease man page description * Fix int64 float descriptions in man page * Make lease help info appear only if it is supported * Make assumption about nice limits if getrlimit fails * Close and abort rather than close and break * Fix incorrect closing on in stress-lease * Clear buffer in lockf * Check return of unlocking fcntl call in stress-lease * Forgot to add stress-lease.c to Makefile * Add lease stressor and --lease, --lease-ops, --lease-breakers * Don't print full help on failed getopt '?' returns * Add dup stressor and --dup, --dup-ops options * Update syscalls table * Minor lockf corrections in manual * Add POSIX lockf file locking stressor * Fix int64_{float|double|longdouble} verifies * Add mixed integer and floating point cpu stressors * Manual: don't -> do not -- Colin King Wed, 31 Dec 2014 13:13:13 +0000 stress-ng (0.03.06-1) unstable; urgency=medium * Makefile: bump version * Makefile: add mascot svg to dist * Make getpid pid const * Don't use 0600 flags, use constants instead * Add --mmap-file and --mmap-async file based mmap options * Make stress-mmap helper functions static * Update manual for the new unix --sock-domain option * Add unix --sock-domain option * Add cache fencing and cache flushing to cache stressor * Add mascot svg * Fix comment in modulo-x comment, 20th -> 23rd -- Colin King Mon, 29 Dec 2014 15:57:00 +0000 stress-ng (0.03.05-1) unstable; urgency=medium * Makefile: bump version * Fix stress-poll random slow hangs running on --poll-ops N * Find index into stressors via id * stress-fifo: cater for zero reads on closed fifo * Tidy up stress-ng.h, re-ordering and adding more comments * Re-organise per stressor process info into procs * Remove hdd related global vars, add stress_set_hdd* helpers * Remove global socket_port, use helper stress_set_socket_port instead * Remove unused opt_vm_stride * Remove global mmap_bytes, use helper stress_set_mmap_bytes instead * Remove vm related global flags, add stress_set_vm_* helpers * Remove global cpu_load, use helper stress_set_cpu_load instead * Remove global sem_procs, use helper stress_set_sem_procs instead * Make opt_sequential static * Remove global fifo_readers, use helper stress_set_fifo_readers instead * Remove global pthread_max, use helper stress_set_pthread_max instead * Remove global seek_size, use helper stress_set_seek_size instead * Remove global qsort_size, use helper stress_set_qsort_size instead * Remove global sendfile_size, use helper stress_set_sendfile_size instead * Remove global hsearch_size, use helper stress_set_hsearch_size instead * Remove global lsearch_size, use helper stress_set_lsearch_size instead * Make opt_tsearch_size static * Remove global tsearch_size, use helper stress_set_tsearch_size instead * Replace opt_fstat_dir with stress_set_fstat_dir() * Replace sem_ok bool with OPT_FLAGS_SEM_INIT opt_flag bit * Remove opt_timer_freq, replace with stress_set_option_freq() * Make opt_class static * Make array opt_ops static * Make opt_backoff static * Make opt_sched and opt_sched_priority static * Make started_procs array static * Make procs, opt_ionice_class, opt_ionice_level static * No need to extern procs array * No need to extern opt_ionice_class, opt_ionice_level * Remove globals for fork/vfork opts, use stress_set_{fork,vfork}_max * Remove global opt_denties, use helper stress_set_dentries instead * Remove global bsearch_size, use helper stress_set_bsearch_size instead * Remove global bigheap_growth, use helper stress_set_bigheap_growth instead * Remove global aio requests, use helper stress_set_aio_requests instead * Remove tailing . on man page title -- Colin King Wed, 17 Dec 2014 14:37:41 +0000 stress-ng (0.03.04-1) unstable; urgency=medium * Makefile: bump version * Fix verify checks in int{64,32,16,8} cpu stressors * lock-mem: only use mlockall if _POSIX_MEMLOCK is defined * stress-vm: add finer grained bogo ops * Set MIN_OPS to be 1, 100 is quite large for slow vm tests * stress-vm: use PRIME_64 * stress-denty: use PRIME_64 * Define PRIME_64 to be large 64 bit prime value * Fix thinko in prime striding of memory * Add --denty-order option to try and mix up dentry unlinking order * Remove the reference to /tmp being used as sendfile data * Add pthread stressor * Re-work seek offset, the module fails on some arm 32 builds * stress-fifo: fix error message -- Colin King Fri, 12 Dec 2014 12:23:12 +0000 stress-ng (0.03.03-1) unstable; urgency=medium * Makefile: bump version * Update date in man page * IONICE_* opts are linux only * Remove unwanted column headings * Stress semaphore harder by multiple children * Update syscalls, add send recv * Add some more comments to stress-ng.h * Move some #defines around * stress-fork: use renamed constants * Add in more #define'd min/max/default constants * Re-order OPT_ case statement into alphabetical order * Hide vm stressor option inside stress-vm * Hide cpu stressor option inside stress-cpu * stress-fifo: close fifo on exit * stress-socket: add --sock-domain option * stress-socket: use send/recv instead of write/read * Use ssize_t for n to get write size * Add named fifo stressor * Break casting of uintptr_t into stages because GCC 4.9.2 complains * stress-vm: no need to check sz if it is a 32 bit integer * Force gcc not to optimise out the alloca -- Colin King Fri, 5 Dec 2014 23:19:00 +0000 stress-ng (0.03.02-1) unstable; urgency=medium * Makefile: bump version * free procs array in child stressor, stops valgrind complaining * stress-vm: don't use abs, use UNSIGNED_ABS instead * Ensure mwc internal state is initialised. * stress-memcpy: copy back buffer to share memory region * stress-affinity: add --affinity-rand option * man page: fix - hypenations * stress-vm: remove debug on vm stressor names, too noisy * mwc: move mwc constants into a struct and inline mwc * Deprecate --noclean option * Deprecate --vm-stride * man page: Fix spelling mistakes and re-phrase some text for clarity * stress-vm: use correct name when checking prime-gray-* results * Add --stress-vm documentation in man page * stress-vm: Add different vm stressors and --vm-method option -- Colin King Tue, 2 Dec 2014 16:13:15 +0000 stress-ng (0.03.01-1) unstable; urgency=medium * Makefile: bump version, update codename * More --metrics explanation, expand other mior options as well * Use %zu print format specifier for size_t variable * Fix builds for OpenBSD too * Makefile: minor tweaks to build rules * stress-cpu: remove cpow and csinl csinl for FreeBSD builds * stress-cpu: build without warnings with clang * madvise: fix build issues on FreeBSD * stress-sysinfo: build for FreeBSD * Fix build issues on FreeBSD * stress-cpu: zeta precision should be using cabsl * Use double complex for fft * stress-nice: include signal.h * stress-tsearch: use & rather than && * stress-lsearch: use & rather than && * opt_flags && OPT_FLAGS_VERIFY should be using & rather than && * Remove duplicate const * Remove duplicate func declaration, rename other to stress_func * Fix division by zero on r_total, emit zero if num procs is zero * Fix spelling mistake "performance" in man page * Fix float man page entry * Fix clongdouble man page entry * Add hsearch and class options to --help -- Colin King Thu, 27 Nov 2014 16:28:05 +0000 stress-ng (0.03.00-1) unstable; urgency=medium * Makefile: bump to version 0.03.00 * Clarify cpu stressors and tidy up the table formatting * Reduce number of loops for int, float and complex by factor of 10 * Add cpu complex stressors to man page * Add complex math stressors, make float macro use appropriate trig funcs * stress-aio: Fix spelling mistake "Succeeded" in comment * stress-cpu: fix spelling mistake "version" in comment * Add one more stress-ng example to man page * stress-sysinfo: make ret linux only * stress-sysinfo: make clk not linux only * Remove linux only restriction for --times option * sysinfo: check for times() returning -1 * Check for time() error correctly * Make stress-aio linux only * Output metrics in terms of time in wall clock and user+sys times * stress-socket: terminate child properly to fix process accounting * Make metrics based on child usr and sys ticks rather than wall clock times * Force gcc from over-optmising loop cpu stressor accumulates * Fix flock stress on open failure because of race on same file * Update syscalls text file * Add stack overflow stressor * Fix flock - ensure it locks on one file between all workers * Add hsearch stressor * Add async I/O aio stressor * Add --class option * stress-cpu: Move math constants and suffix them with L * Add Euler–Mascheroni (gamma) calculation in cpu-stress * Fix another spelling mistake in man page -- Colin King Mon, 24 Nov 2014 09:31:00 +0000 stress-ng (0.02.29-1) unstable; urgency=medium * Makefile: bump version * Fix spelling mistake in man page * Add seek stressor and --seek, --seek-ops, --seek-size options * Add memcpy memory copying stressor * Makefile: remove gcov options that got accidentally added -- Colin King Fri, 21 Nov 2014 10:19:00 +0000 stress-ng (0.02.28-1) unstable; urgency=medium * Makefile: bump version * stress-cpu: force matrixprod to actually save the results * Use temp dir helpers to run stressors in temp directory * Add temporary dir helpers -- Colin King Thu, 20 Nov 2014 09:40:00 +0000 stress-ng (0.02.27-1) unstable; urgency=medium * Makefile: bump version * stress-utime: use also utime and make futimes linux only * stress-fault: use posix_fallocate instead of fallocate * stress-fault: clarify negation on boolean expression * stress-hdd: close file on error exit path * Use PATH_MAX for filename sizes * stress-hdd: use temp filename helper * stress-fallocate: use temp filename helper * stress-inotify: use temp filename helper * stress-flock: open using S_IRUSR | S_IWUSR * stress-fault: open using S_IRUSR | S_IWUSR * stress-denty: open using S_IRUSR | S_IWUSR * stress-dir: use temp filename helper * stress-link: use temp filename helper * stress-rename: use temp filename helper * stress-utime: use temp filename helper * stress-sendfile: use temp filename helper * stress-flock: use temp filename helper * stress-fault: use temp filename helper * stress-dentry: use temp filename helper * Add stress_temp_filename for standard temp filename building * stress-dentry: include instance number in filename * Catch a range of signals and handle termination better * Re-work process wait by re-writing this with a helper * Fix build issues on Arch * Man page: tweak width for cpu methods to work on wide ttys * Only print out page fault stats to debug * Correctly wait for all running processes to terminate * Remove redundant exit check * Add page fault stressor * Remove -g flag from Makefile * Add lsearch stressor * Add tsearch stressor * Ensure we allocate in multiples of 8 elements * Add bsearch stressor * stress-poll: set data in correct place, fixes verify failures * Make hyperbolic cpu test more demanding * Make trig cpu test more demanding * Add 3 more hash cpu stressors -- Colin King Thu, 13 Nov 2014 10:49:00 +0000 stress-ng (0.02.26-1) unstable; urgency=medium * Makefile: bump version * Makefile: include syscalls.txt in dist * Fix cut-n-paste error on waitpid for socket_server * Ignore args in no-op mincore build case * Make mincore a no-op for GNU HURD * Don't allow wait stressor if building for GNU HURD * Forgot to make times option Linux only too * Make --times option Linux only * Only print the names of stressors if they are going to run * Ensure we have read all the inotify events * Add the new --times option to show system and user times * stress-msg: wait for child to exit * stress-inotify: ignore EINTR on select as an error * stress-eventfd: wait for child to die * stress-vm: wait for child to die * stress-switch: wait for child to die * stress-socket: wait for children to die * stress-sigq: wait for child to die * stress-poll: wait for child to die * stress-pipe: wait for child to die * stress-bigheap: wait on child after killing it * Add vfork to syscalls.txt * Add --vfork, --vfork-ops, --vfork-max options * stress-bigheap: don't treat EINTR on waitpid as an error * Add mincore to syscalls.txt * Add the --page-in option to page in out-of-core pages * stress-cpu: run all cpu methods rather than sqrt() by default * stress-vm: treat EINTR on waitpid as a not a reportable error * stress-eventfd: treat read/write EINTR as not a reportable error * stress-msg: treat EINTR as not a reportable error * Make poll and select act on multiple pipe fds * Add madvise to syscalls.txt * Enable random madvise() advice for mmaps, add --no-madvise option * Fix spelling mistake in coredump.c * Add table of syscalls/libc vs test coverage * stress-fstat: add more stat* calls, don't spin if no valid files * Modify started on text to be more like original stress tool * Add wait stressor and --wait --wait-pid options -- Colin King Sat, 8 Nov 2014 14:24:00 +0000 stress-ng (0.02.25-1) unstable; urgency=medium * Makefile: bump version * Write file entry removal info to stderr rather than stdout * Enable urandom for GNU HURD * stress-fnotify: handle fnotify running out of resource * Use timer_create for linux only * stress-eventfd: make it build only for linux systems * Forgot to add stress-eventfd.c * stress-inotify.c: reduce scope of dirent * stress-futex.c: reduce scope of variable ret * stress-cpu.c: reduce scope of variable fn * Replace stress fields with STRESSOR macro * Check for timeout as an error and sanity check inotify buffer size * Add stress-inotify and --inotify --inotify-ops options * man page: fix spelling mistake * parse-opts.c: fix spelling mistake * Makefile: fix spelling mistake * Fix more spelling mistakes in changelog * Fix spelling mistake in changelog * stress-clock: fully clear sevp * Re-order long_options to make it easier to find options * stress-sysinfo: move i to reduce scope * Fix type on null ptr check on mnt * Add sysinfo stressor and --sysinfo --sysinfo-ops options * Make STRESS_PROCS linux only in stress-ng.h * Add procfs stressor and --procfs --procfs-ops options * Update manual date * Add note about matrix produce CPU stressor * Fix rdrand unrolled comment * Re-order stress_op enum * Re-order stress_id enum * Remove redundant extra loop in stress_pipe * Add linux eventfd stressor * Add stress-clock, re-order man page and help info -- Colin King Mon, 3 Nov 2014 19:16:00 +0000 stress-ng (0.02.24-1) unstable; urgency=medium * Makefile: bump version * Free procs on calloc failure * stress-open: determine max number of fds allowed to open * stress-vm: Handle WIFSIGNALED if waitpid succeeded * Handle WIFSIGNALED if waitpid succeeded * stress sock should be called sock and not socket in the metrics info * Make futex waker verify less pedantic * fix getpriorities returning < 0 for valid priority values * Fix order of null stressor * Add get stressor and --get, --get-ops options * Add sendfile stressor and --sendfile, --sendfile-ops, --sendfile-size * Re-order options man page * Sort options in mini help * Add null stress test and --null, --null-ops options * Add zero stressor and --zero, --zero-ops options * Add kill stressor and --kill, --kill-ops options -- Colin King Thu, 30 Oct 2014 22:14:00 +0000 stress-ng (0.02.23-1) unstable; urgency=medium * Makefile: bump version * Initialise finish time in case it is never run (LP: #1387104) * Add futex stressor (LP: #1386831) -- Colin King Wed, 29 Oct 2014 10:32:00 +0000 stress-ng (0.02.22-1) unstable; urgency=medium * Makefile: bump version * Re-order some of the help options * Fix --random option to create semaphore if semaphore is chosen by random -- Colin King Sun, 26 Oct 2014 11:54:00 +0000 stress-ng (0.02.21-1) unstable; urgency=medium * Bump version again * Mixed up shared memory regions, fix these as --cache breaks -- Colin King Fri, 24 Oct 2014 21:13:00 +0100 stress-ng (0.02.20-1) unstable; urgency=medium * Makefile: bump version again * Remove shm_* and replace with mmap'd shared memory (fix GNU hurd issues) -- Colin King Fri, 24 Oct 2014 19:40:00 +0100 stress-ng (0.02.19-1) unstable; urgency=medium * Makefile: bump version * Don't enable stress-msg for GNU HURD * Make lock_mem_current a no-op for GNU HURD * Don't enable stress-sigq for GNU HURD * Need in stress-ng.h * Cater for systems where sem_init is not supported * shm_open on /tmp path (for kFreeBSD) * Fix non-linux build - don't build in options that are not available * sched.c: make this build on non-linux systems * io-proirity: make this more generic rather than linux specific * stress-nice: work around systems that lack RLIMIT_NICE * stress-mmap: fix kFreeBSD build failures, no MAP_POPULATE * kFreeBSD has no MAP_POPULATE * Update to latest policy standards * debian/control: update to keep in sync with new features -- Colin King Fri, 24 Oct 2014 16:46:00 +0100 stress-ng (0.02.18-1) unstable; urgency=medium * Makefile: bump version, add copyright, change codename, fix make dist -- Colin King Fri, 24 Oct 2014 09:24:00 +0100 stress-ng (0.02.17-1) unstable; urgency=medium * Makefile: bump version again * Break out of stress_run if we've timed out * Add more exit points to check for early abort * stress-vm: restart processes killed by OOM, add more exit checking * stress-bigheap: add more exit checking -- Colin King Thu, 23 Oct 2014 17:38:00 +0100 stress-ng (0.02.16-1) unstable; urgency=medium * Makefile: bump version * Make sequential minimum 0 * stress-fstat: free list on error return * Default to number of online cpus if --sequential 0 is used * Remove debug message -- Colin King Thu, 23 Oct 2014 13:01:00 +0100 stress-ng (0.02.15-1) unstable; urgency=medium * Makefile: bump version * Add rdrand stressor (Intel Ivybridge+) * stress-fstat: don't exit(), just return on error * stress-fstat: don't exit(), just return on error * stress-rename: don't exit(), return on error * stress-utime: don't exit(), just return on failure * Add more explanations to man page * Spread --random stressors more evenly * Fix minor issues in man page -- Colin King Thu, 23 Oct 2014 11:22:00 +0100 stress-ng (0.02.14-1) unstable; urgency=medium * Makefile: bump version * Compile in asm no-op hints only if using gcc * Make gcc optimisation hint a gcc only feature * Add verify mode to omega computation * Add verify mode to pi computation * Add verify mode on hanoi computation * Add verify mode to ln(2) computation * Add verify mode to psi computation * Add verify mode to phi computation and make it long double * Make nsqrt long double precision and add verify mode * Add verify on euler computation * Add verify on IDCT -- Colin King Thu, 23 Oct 2014 00:45:00 +0100 stress-ng (0.02.13-1) unstable; urgency=medium * Makefile: bump version * Properly report child exit error status * mlock all pages down on so they don't get swapped out * Add feedback on file system clean up on SIGINT * Move ioprio_set out of stress-ng.h to io-priority.c * Fix table width in stress-cpu stressors * Add -ve value sanity checking * Add --sequential option -- Colin King Wed, 22 Oct 2014 16:32:00 +0100 stress-ng (0.02.12-1) unstable; urgency=medium * Makefile: bump version * Reduce scope of variables * Add SIGFPE stressor --sigfpe --sigfpe-ops * Add --fork-max option * Move opt parsing to parse-opts.c * Remove unrequired headers from coredump * Re-organise code, move helper functions * Update man page on random cpu stressor -- Colin King Tue, 21 Oct 2014 13:16:00 +0100 stress-ng (0.02.11-1) unstable; urgency=medium * Makefile: bump version * Add fstat check in fallocate verify path * Add verify to stress-yield * Add verify to stress-vm * Add verify to stress-poll * Add verify to stress-fork * Add verify to stress-fallocate * Add verify on stress cpu sqrt * Add verify to bigheap * Add verify to stress-affinity * Abort stressors after a threshold of failures reached * Add --bigheap-growth option * Clean up nice cpu consumer, add a little more info in manual about this * Add --nice and --nice-ops for nice stressor * Re-order some man page options * Fix printf format specifier -- Colin King Sun, 19 Oct 2014 17:29:00 +0100 stress-ng (0.02.10-1) unstable; urgency=medium * Makefile: bump version * Make n ssize_t * Fix msg type field * Add --msg and --msg-ops System V msg send/receive stressor * Add --verify support to stress-pipe * Minor code cleanup * Print pid rather than status when printing failed stressor fork * Add verification of qsort * Add --verify example to manual * Add verify mode to integer cpu stressors * Enable OPT_FAIL for verify mode and all flags * Add MWC_SEED and MWC_SEED_W MWC_SEED_Z macros * Add mwc seeding helper * Use pr_fail on test verify failures * Add mmap memory verify * Minor comment fix * Add FAIL log state * Add --verify option -- Colin King Thu, 16 Oct 2014 23:12:01 +0100 stress-ng (0.02.09-1) unstable; urgency=medium * Makefile: bump version * Makefile: add more smarts to detect header file and Makefile changes * Re-structure sources, break into per test and helper funcs sources -- Colin King Mon, 13 Oct 2014 22:22:22 +0000 stress-ng (0.02.08-1) unstable; urgency=medium * Bump version * Add more sanity checking for numeric options * fflush output before we fork * Allow one to request number of stressors to match number of online CPUs * Fix up comment * Add hand optimised Hamming H(8,4) code cpu stressor -- Colin King Sun, 12 Oct 2014 22:33:00 +0100 stress-ng (0.02.07-1) unstable; urgency=medium * Makefile: bump version * Add computation of the reciprocal Fibonacci constant psi * Add computation of the omega constant as a cpu stressor * Add computation of pi cpu stressor -- Colin King Sat, 11 Oct 2014 20:07:00 +0100 stress-ng (0.02.06-1) unstable; urgency=medium * Makefile: bump version * Rename ctxt -> switch * Add metrics-brief example to man page * Add Towers of Hanoi CPU stessor * Add gray code cpu stressor * Add --metrics-brief option * Add brute force prime search * Add Sieve of Eratosthenes cpu stressor -- Colin King Sat, 11 Oct 2014 11:33:00 +0100 stress-ng (0.02.05-1) unstable; urgency=medium * Makefile: bump version * Add correlation cpu stressor * Add Zeta function cpu stressor * Add more information in manual * Add hash pjw and make jenkin hash iterate more -- Colin King Fri, 10 Oct 2014 16:26:00 +0100 stress-ng (0.02.04-1) unstable; urgency=medium * Makefile: bump version * Add hyperbolic function sinh cosh cpu stressor * Expand man page * Add CCITT CRC16 cpu stressor * Add compare + jmp cpu stressor * Add cpu explog stressor and tidy up man page * Add Ackermann function cpu stressor * Add log(2) computation for cpu stressor * Update man page * Add fibonacci cpu stressor, use register where appropriate -- Colin King Thu, 9 Oct 2014 21:16:00 +0100 stress-ng (0.02.03-1) unstable; urgency=medium * Bump version * Add --fstat, --fstat-ops and --fstat-path fstat stress options * Add --utime, --utime-ops, --utime-fsync options * Add -R, --rename, --rename-ops rename stressor -- Colin King Thu, 9 Oct 2014 11:03:00 +0100 stress-ng (0.02.02-1) unstable; urgency=medium * Makefile: bump version * bigheap: account for the type of out of memory conditions in debug * Forgot to update the man page for --big-heap options -- Colin King Tue, 7 Oct 2014 13:23:00 +0100 stress-ng (0.02.01-1) unstable; urgency=medium * Fix up errors found by coverity scan * Add bigheap stressor * Makefile: bump version * Add coredumping limits * Add oom killer adjustments * Add maxtrix product cpu stressor * Expand float and int tests to various sized arithmetic -- Colin King Tue, 7 Oct 2014 12:18:00 +0100 stress-ng (0.02.00-1) unstable; urgency=medium * Bump version to 0.02.00 * Minor tweaks to man page * Add qsort stressor and --qsort, --qsort-ops, --qsort-size options * Remove some whitespace * Add some notes about the CPU methods used * Add RGV <-> YUV cpu stress method * Add more bithack stressors to bitops cpu method, update man page * Remove --int, --int-ops, --float, --float-ops from help * Re-order cpu stressor methods alphabetically * Remove the need for cpu stressors to return anything * Remove --float and --float-ops and merge into cpu stress * Make uint64_put take 1 arg * Remove --int and --int-ops, merge into int cpu stress * Remove extraneous space * Add comments and some consts * Add IDCT and "all" cpu stress methods * Add euler and jenkins cpu stress methods * Add Fast Fourier Transform cpu stress method * Add Golden Ratio computation as a cpu stressor * Execute the correct stress function * Fix indexing error on procs <---> stress id * Add --cpu-method option to stress the CPU different ways * Add const where applicable, small code tidy up * Replace APP_NAME with app_name static string * Guard against bad flag type * Re-work print, saved ~60 bytes * Sort stressors by name order * Get page size for mmap using sysconf * Make *_put helper args const * Make maximum number of procs a #defined constant * Track mmap'd memory, this stops coverity scan getting confused * Add --hdd-write-size option * Add mmap stressor and --mmap, --mmap-ops, mmap-bytes options * Fully #define out unused stress tests * Check for end-of-table on stressors * Use err and dbg helpers to print syscall failures * Make short get_opt short int * Remove human readable label field, it's duplication * Make short opts a stress_op enum * Make all ops lo, hi thresholds the same (100,100000000) * Make options table driven for stress test options * Add segmentation fault stressor, --sigsegv and --sigsegv-ops options * Add directory stressors * Add link and symlink stressors * Fix help information, start -> stop -- Colin King Thu, 3 Oct 2014 10:44:00 +0100 stress-ng (0.01.32-1) unstable; urgency=medium * Makefile: bump version * Handle forced abort and tidy up when errors occur during start up * Add more termination checks to try to abort faster * Fix --sched option that had missing .TP * Remove duplicate const * Neaten up the see also list -- Colin King Thu, 28 Aug 2014 00:21:01 +0100 stress-ng (0.01.31-1) unstable; urgency=medium * Makefile: bump version * Minor fix-ups in man page * Re-order globals, saves 8 bytes * Make mwc uint64_t * Add some more comments * Remove DIV_OPS_BY_PROCS macro * Fix --keep-name help info (order and missing ') * Fix --sched man page option -- Colin King Tue, 19 Aug 2014 15:47:28 +0100 stress-ng (0.01.30-1) unstable; urgency=medium * Makefile: bump version * Fix up a few resource leaks * Add format length specifier to scanf on integers * Minor var cleanup from cppcheck * Re-work help info * Remove common functionality, make code smaller * Free procs more rigorously. * Clear sigqueue union, keeps valgrind happy * Free procs info at exit * Add more information in man page * Re-use stressor names in checks * Cast max_ops to (void) to avoid unused var warnings * Add --vm-locked option and force cpu affinity changes on cache stress * Fix spelling mistake in man page * Remove some extraneous white spaces * Remove commas from numbers in help * Align help info * Remove redundant code that got accidentally left in * Simplify hogs message * Keep track of per stress test ops count in opt_ops array * Add -P, --poll, --poll-ops zero timeout polling stress test * Add -k, --keep-name option to not change name of stress processes * Add -r, --random option to create N random stress processes -- Colin King Tue, 5 Aug 2014 17:25:01 +0100 stress-ng (0.01.29-1) unstable; urgency=medium * Makefile: bump version * Use si_value.sival_int instead of info.si_int (Closes: #756787) * Fix incorrect nesting of OPT_SIGQUEUE* -- Colin King Fri, 1 Aug 2014 23:25:23 +0100 stress-ng (0.01.28-1) unstable; urgency=medium * Makefile: bump version, change codename * Add sigqueue and sigwaitinfo stress, new --sigq, --siqq-ops options * Make mwc inline * Make opt_do_run volatile * Make -O2 default * Remove numerous printfs in help info * Remove lots of duplicate stress test names from code * Fixup print % qualifier * Clean all objects on make clean -- Colin King Wed, 30 Jul 2014 10:25:00 +0100 stress-ng (0.01.27-1) unstable; urgency=medium * Makefile: bump version * Add more info to man page * Add open stress test * Fix bug in semaphore range checking * Fix dbg message for stress_int * Add some more comments * Add more information in man page * Increase the -l option accuracy by biasing by the select() overhead time * Add missing comma to output -- Colin King Tue, 29 Jul 2014 00:33:31 +0100 stress-ng (0.01.26-1) unstable; urgency=medium * Makefile: bump version * Add semaphore stress, --sem and --sem-ops options -- Colin King Sun, 27 Jul 2014 16:24:22 +0100 stress-ng (0.01.25-1) unstable; urgency=medium * Makefile: bump version * More aggressive process termination to kill any lingering processes -- Colin King Sun, 20 Jul 2014 18:05:01 +0100 stress-ng (0.01.24-1) unstable; urgency=medium * Makefile: bump version * Makefile: add helper.c to make dist * Add integer stressor, --int and --int-ops options * urandom: cater for non-linux builds * Add --float and --float-ops floatin point stressors * Add urandom stress, -u, --urandom and --urandom-ops options * Make timer stress more responsive to SIGINTs * Forgot to add 'T' option to getopt -- Colin King Sun, 20 Jul 2014 17:38:43 +0100 stress-ng (0.01.23-1) unstable; urgency=medium * Makefile: bump version * Add snappier process termination * Add -h option * Add more debug on exit paths * Add more checking on sigaction * Minor code tidy up * Move time_now() * Use timeval helper in time_now() * Fix build error on GNU HURD -- Colin King Mon, 14 Jul 2014 11:49:41 +0100 stress-ng (0.01.22-1) unstable; urgency=medium * Makefile: bump version * Add directory entry thrashing * Track ftruncate errors -- Colin King Sun, 13 Jul 2014 17:19:05 +0100 stress-ng (0.01.21-1) unstable; urgency=medium * Makefile: bump version * Remove need for rand, it makes Coverity Scan complain * Check for freq divide by zero * Add in __linux__ build dependency on timers * Add timer stress test --timer, --timer-ops and --timer-freq options * Note that affinity options linux only in man page * opt_affinity_ops is linux only * Fix man page -F option * Add CPU affinity stress processes, add --affinity and --affinity-ops options -- Colin King Sat, 12 Jul 2014 21:50:00 +0100 stress-ng (0.01.20-1) unstable; urgency=medium * Makefile: bump version * Ignore return from ftruncate, we don't care * Fix spelling mistakes * Standardise error messages * Remove extraneous pid at end of pr_* messages * Add more information when error occurs -- Colin King Mon, 7 Jul 2014 20:00:00 +0100 stress-ng (0.01.19-1) unstable; urgency=medium * Makefile: bump version * Willfully ignore posix_fallocate() failures, we don't care * Terminate and tidy up flock stress temp file * Update help information * Make conditional stress tests no-ops rather than not including them * Add file locking stress, --flock and --flock-ops options * Add --vm-populate option * Add fallocate test and -F, --fallocate, --fallocate-ops options * Divide yield bogo ops by number of yield processes -- Colin King Mon, 7 Jul 2014 19:26:00 +0100 stress-ng (0.01.18-1) unstable; urgency=medium * Makefile: bump version * Add yield stress test and -y, --yield, --yield-ops options * Add ionice-class and ionice-level options (Linux only) -- Colin King Sun, 6 Jul 2014 11:14:00 +0100 stress-ng (0.01.17-1) unstable; urgency=medium * Makefile: update version * Add build hardening * Add scheduler options to man page * Allow --sched which to show available schedulers * Add --sched and --sched-prio options -- Colin King Fri, 4 Jul 2014 16:38:00 +0100 stress-ng (0.01.16-1) unstable; urgency=medium * Don't include prctl.h unless compiled for a linux target * Reduce scope of j loop index * Reduce scope of ret * Clarify bitwise operation * Remove duplicate consts -- Colin King Sat, 21 Jun 2014 14:24:15 +0100 stress-ng (0.01.15-1) unstable; urgency=medium * Initial Debian upload (Closes: #735674) * Makefile: bump version * Minor tidy-ups * Minor changes to man page -- Colin King Mon, 26 May 2014 10:39:00 +0200 stress-ng (0.01.14-1) unstable; urgency=medium * Makefile: bump version * Add -a, -all run all stress test option * Cast close returns to (void) when we don't care * Minor comment and code clean up * Re-order options in man page * Add socket stressors * Add CPU cache to hogs line * Fix up and re-order options in help info -- Colin King Thu, 22 May 2014 16:01:01 +0100 stress-ng (0.01.13-1) unstable; urgency=low * Makefile: bump version * Fill memory with something other that '0' * Add cache thrash stress options to man page * Add cache stress * Update man page with new pipe I/O options * Add pipe I/O loading test -- Colin King Tue, 20 May 2014 12:14:00 +0100 stress-ng (0.01.12-1) unstable; urgency=low * Makefile: bump version * Add some more comments * Remove atoi and use strtol to handle underflow/overflow checking * Add print format specifier * Fix status not being printed -- Colin King Mon, 19 May 2014 10:40:00 +0100 stress-ng (0.01.11-1) unstable; urgency=low * Makefile: bump version * Fix copyright * Makefile: Fix make dist, use plain old tar to omit debian contents * Add COPYING file * Add a -l --cpu-load option to load CPUs to a specified amount -- Colin King Fri, 28 Mar 2014 21:08:11 +0000 stress-ng (0.01.10-1) unstable; urgency=low * Makefile: bump version * debian/control: set arch to any * Fix up copyright company * Fix formatting of the copyright in the source * Re-write the description and make it a little clearer in the source * Detect and report if a worker stress process failed * Make process name changing linux only feature -- Colin King Mon, 20 Jan 2014 17:00:01 +0000 stress-ng (0.01.09-1) unstable; urgency=low * Initial release into Debian (Closes: #735674) * Makefile: bump version * Fix up description once more * Add some minimal comments * Re-work debian control again. -- Colin King Fri, 17 Jan 2014 11:52:13 +0000 stress-ng (0.01.08-1) unstable; urgency=low * Makefile: bump version * debian/control: Update debian control * debian/rules, remove override_dh_auto_build * debian/control: update, minor changes * debian/compat: update to 9 * Check for write fail -- Colin King Thu, 16 Jan 2014 13:47:11 +0000 stress-ng (0.01.07) trusty; urgency=low * Makefile: bump version * Fix typo in help info * Ensure we quit when ctxt switch parent is killed * Update man page date * Add context switch stress test * Add fork stress test * Update copyright year -- Colin King Thu, 16 Jan 2014 13:27:51 +0000 stress-ng (0.01.06) trusty; urgency=low * Makefile: bump version again * vm-keep does not have an optarg -- Colin King Fri, 6 Dec 2013 18:46:20 +0000 stress-ng (0.01.05) trusty; urgency=low * Makefile: bump version * Fix opt_vm_hang bug -- Colin King Fri, 6 Dec 2013 15:50:01 +0000 stress-ng (0.01.04) trusty; urgency=low * Makefile: bump version * ensure ret is initialized in print() * Fix some signed / unsigned comparison warnings * Make print return number of chars emitted and ignore some func returns * Makefile: add -Wextra * Set shm mem name to be unique on parent pid * handle out of memory error on procs * tidy up and constify where applicable -- Colin King Tue, 19 Nov 2013 12:57:22 +0000 stress-ng (0.01.03) saucy; urgency=low * Makefile: bump version * Make mmap failure non fatal -- Colin King Fri, 17 Oct 2013 19:38:31 +0100 stress-ng (0.01.02) saucy; urgency=low * Makefile: bump version * Set umask before using mkstemp -- Colin King Wed, 15 Oct 2013 15:28:33 +0100 stress-ng (0.01.01) saucy; urgency=low * Makefile: bump version * hdd: fix --hdd-noclean option * hdd: change buffer size, exit early if hdd-ops reached per write * Add default settings as #defines * Make metrics labels a little more understandable * Limit vm-ops to min of 100 -- Colin King Tue, 15 Oct 2013 16:20:05 +0100 stress-ng (0.01.00) saucy; urgency=low * Initial version -- Colin King Tue, 15 Oct 2013 13:35:40 +0100