changeset 0:254cd55c9900 draft default tip

"planemo upload for repository https://github.com/ColinIanKing/stress-ng commit ffaa4c7cd78355f3c74d1f183729b13a8b6b8bb3"
author bgruening-util
date Thu, 04 Mar 2021 18:28:53 +0000
parents
children
files stress_ng.xml
diffstat 1 files changed, 2896 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stress_ng.xml	Thu Mar 04 18:28:53 2021 +0000
@@ -0,0 +1,2896 @@
+<tool id="stress_ng" name="stress-ng" version="@VERSION@+@GALAXY_VERSION@" profile="20.01" license="GPL-2.0-or-later" >
+    <description>stress test a computer system in various selectable ways</description>
+    <macros>
+        <token name="@GALAXY_VERSION@">0</token>
+        <token name="@VERSION@">0.12.04</token>
+        <macro name="default_ipv4" >
+            <option value="ipv4" />
+            <option value="ipv6" />
+            <yield />
+        </macro>
+        <macro name="sanitize_options" >
+            <sanitizer>
+                <valid initial="string.letters,string.digits" >
+                    <add value="," />
+                    <add value="-" /><add value="_" />
+                </valid>
+            </sanitizer>
+        </macro>
+        <macro name="sanitize_filesize" >
+            <sanitizer>
+                <valid initial="string.digits" >
+                    <add value="B" />
+                    <add value="K" />
+                    <add value="M" />
+                    <add value="G" />
+                    <add value="%" />
+                </valid>
+            </sanitizer>
+        </macro>
+        <macro name="sanitize_time" >
+            <sanitizer>
+                <valid initial="string.digits" >
+                    <add value="s" />
+                    <add value="m" />
+                    <add value="h" />
+                </valid>
+            </sanitizer>
+        </macro>
+        <macro name="sanitize_function" >
+            <sanitizer>
+                <valid initial="string.letters" >
+                    <add value="_" />
+                    <add value="-" />
+                    <add value="(" />
+                    <add value=")" />
+                </valid>
+            </sanitizer>
+        </macro>
+        <macro name="default_method_all" >
+            <option value="all" />
+            <yield />
+        </macro>
+        <macro name="sanitize_filename" >
+            <sanitizer>
+                <valid initial="string.letters,string.digits" />
+            </sanitizer>
+        </macro>
+    </macros>
+    <requirements>
+        <requirement type="package" version="@VERSION@">stress-ng</requirement>
+    </requirements>
+    <version_command><![CDATA[
+    stress-ng --version | sed -r 's|^.*version ([0-9.]+).*|\1|'
+    ]]></version_command>
+    <command detect_errors="exit_code"><![CDATA[
+    stress-ng
+
+    #if str($options.do) == "common":
+        #if str($options.cpu) != ""# --cpu '$options.cpu' #end if
+        #if str($options.cpu_load) != ""# --cpu-load '$options.cpu_load' #end if
+        #if str($options.hdd) != ""# --hdd '$options.hdd' #end if
+        #if str($options.io) != ""# --io '$options.io' #end if
+        #if str($options.memfd_bytes) != ""# --memfd-bytes '$options.memfd_bytes' #end if
+        '$options.metrics'
+        #if str($options.random) != ""# --random '$options.random' #end if
+        #if str($options.timeout) != ""# --timeout '$options.timeout' #end if
+    #else if str($options.do) == "all":
+##        ## all text, select, integer
+        #if str($options.general.all) != ''# --all '$options.general.all' #end if
+##        #if str($options.general.backoff) != ''# --backoff '$options.general.backoff' #end if
+        #if str($options.general.class) != ''# --class '$options.general.class' #end if
+##        #if str($options.general.ionice_class) != 'None'# --ionice-class '$options.general.ionice_class' #end if
+##        #if str($options.general.ionice_level) != ''# --ionice-level '$options.general.ionice_level' #end if
+        #if str($options.general.random) != ''# --random '$options.general.random' #end if
+##        #if str($options.general.sched) != ''# --sched '$options.general.sched' #end if
+##        #if str($options.general.sched_prio) != ''# --sched-prio '$options.general.sched_prio' #end if
+##        #if str($options.general.sched_period) != ''# --sched-period '$options.general.sched_period' #end if
+##        #if str($options.general.sched_runtime) != ''# --sched-runtime '$options.general.sched_runtime' #end if
+##        #if str($options.general.sched_deadline) != ''# --sched-deadline '$options.general.sched_deadline' #end if
+        #if str($options.general.sequential) != ''# --sequential '$options.general.sequential' #end if
+        #if str($options.general.taskset) != ''# --taskset '$options.general.taskset' #end if
+        #if str($options.general.timeout) != ''# --timeout '$options.general.timeout' #end if
+        #if str($options.general.exclude) != ''# --exclude '$options.general.exclude' #end if
+##        #if str($options.stressor.access) != ''# --access '$options.stressor.access' #end if
+##        #if str($options.stressor.access_ops) != ''# --access-ops '$options.stressor.access_ops' #end if
+##        #if str($options.stressor.af_alg) != ''# --af-alg '$options.stressor.af_alg' #end if
+##        #if str($options.stressor.af_alg_ops) != ''# --af-alg-ops '$options.stressor.af_alg_ops' #end if
+##        #if str($options.stressor.affinity) != ''# --affinity '$options.stressor.affinity' #end if
+##        #if str($options.stressor.affinity_ops) != ''# --affinity-ops '$options.stressor.affinity_ops' #end if
+##        #if str($options.stressor.aio) != ''# --aio '$options.stressor.aio' #end if
+##        #if str($options.stressor.aio_ops) != ''# --aio-ops '$options.stressor.aio_ops' #end if
+##        #if str($options.stressor.aio_requests) != ''# --aio-requests '$options.stressor.aio_requests' #end if
+##        #if str($options.stressor.aiol) != ''# --aiol '$options.stressor.aiol' #end if
+##        #if str($options.stressor.aiol_ops) != ''# --aiol-ops '$options.stressor.aiol_ops' #end if
+##        #if str($options.stressor.aiol_requests) != ''# --aiol-requests '$options.stressor.aiol_requests' #end if
+##        #if str($options.stressor.apparmor_ops) != ''# --apparmor-ops '$options.stressor.apparmor_ops' #end if
+##        #if str($options.stressor.bad_altstack) != ''# --bad-altstack '$options.stressor.bad_altstack' #end if
+##        #if str($options.stressor.bad_altstack_ops) != ''# --bad-altstack-ops '$options.stressor.bad_altstack_ops' #end if
+##        #if str($options.stressor.bad_ioctl) != ''# --bad-ioctl '$options.stressor.bad_ioctl' #end if
+##        #if str($options.stressor.bigheap) != ''# --bigheap '$options.stressor.bigheap' #end if
+##        #if str($options.stressor.bigheap_ops) != ''# --bigheap-ops '$options.stressor.bigheap_ops' #end if
+##        #if str($options.stressor.bigheap_growth) != ''# --bigheap-growth '$options.stressor.bigheap_growth' #end if
+##        #if str($options.stressor.bind_mount) != ''# --bind-mount '$options.stressor.bind_mount' #end if
+##        #if str($options.stressor.bind_mount_ops) != ''# --bind-mount-ops '$options.stressor.bind_mount_ops' #end if
+##        #if str($options.stressor.binderfs) != ''# --binderfs '$options.stressor.binderfs' #end if
+##        #if str($options.stressor.binderfs_ops) != ''# --binderfs-ops '$options.stressor.binderfs_ops' #end if
+##        #if str($options.stressor.branch) != ''# --branch '$options.stressor.branch' #end if
+##        #if str($options.stressor.branch_ops) != ''# --branch-ops '$options.stressor.branch_ops' #end if
+##        #if str($options.stressor.brk) != ''# --brk '$options.stressor.brk' #end if
+##        #if str($options.stressor.brk_ops) != ''# --brk-ops '$options.stressor.brk_ops' #end if
+##        #if str($options.stressor.bsearch) != ''# --bsearch '$options.stressor.bsearch' #end if
+##        #if str($options.stressor.bsearch_ops) != ''# --bsearch-ops '$options.stressor.bsearch_ops' #end if
+##        #if str($options.stressor.bsearch_size) != ''# --bsearch-size '$options.stressor.bsearch_size' #end if
+##        #if str($options.stressor.cache) != ''# --cache '$options.stressor.cache' #end if
+##        #if str($options.stressor.cache_ops) != ''# --cache-ops '$options.stressor.cache_ops' #end if
+##        #if str($options.stressor.cache_level) != ''# --cache-level '$options.stressor.cache_level' #end if
+##        #if str($options.stressor.cache_ways) != ''# --cache-ways '$options.stressor.cache_ways' #end if
+##        #if str($options.stressor.cap) != ''# --cap '$options.stressor.cap' #end if
+##        #if str($options.stressor.cap_ops) != ''# --cap-ops '$options.stressor.cap_ops' #end if
+##        #if str($options.stressor.chattr) != ''# --chattr '$options.stressor.chattr' #end if
+##        #if str($options.stressor.chattr_ops) != ''# --chattr-ops '$options.stressor.chattr_ops' #end if
+##        #if str($options.stressor.chdir) != ''# --chdir '$options.stressor.chdir' #end if
+##        #if str($options.stressor.chdir_ops) != ''# --chdir-ops '$options.stressor.chdir_ops' #end if
+##        #if str($options.stressor.chdir_dirs) != ''# --chdir-dirs '$options.stressor.chdir_dirs' #end if
+##        #if str($options.stressor.chmod) != ''# --chmod '$options.stressor.chmod' #end if
+##        #if str($options.stressor.chmod_ops) != ''# --chmod-ops '$options.stressor.chmod_ops' #end if
+##        #if str($options.stressor.chown) != ''# --chown '$options.stressor.chown' #end if
+##        #if str($options.stressor.chown_ops) != ''# --chown-ops '$options.stressor.chown_ops' #end if
+##        #if str($options.stressor.chroot) != ''# --chroot '$options.stressor.chroot' #end if
+##        #if str($options.stressor.chroot_ops) != ''# --chroot-ops '$options.stressor.chroot_ops' #end if
+##        #if str($options.stressor.clock) != ''# --clock '$options.stressor.clock' #end if
+##        #if str($options.stressor.clock_ops) != ''# --clock-ops '$options.stressor.clock_ops' #end if
+##        #if str($options.stressor.clone) != ''# --clone '$options.stressor.clone' #end if
+##        #if str($options.stressor.clone_ops) != ''# --clone-ops '$options.stressor.clone_ops' #end if
+##        #if str($options.stressor.clone_max) != ''# --clone-max '$options.stressor.clone_max' #end if
+##        #if str($options.stressor.close) != ''# --close '$options.stressor.close' #end if
+##        #if str($options.stressor.close_ops) != ''# --close-ops '$options.stressor.close_ops' #end if
+##        #if str($options.stressor.context) != ''# --context '$options.stressor.context' #end if
+##        #if str($options.stressor.context_ops) != ''# --context-ops '$options.stressor.context_ops' #end if
+##        #if str($options.stressor.copy_file) != ''# --copy-file '$options.stressor.copy_file' #end if
+##        #if str($options.stressor.copy_file_ops) != ''# --copy-file-ops '$options.stressor.copy_file_ops' #end if
+##        #if str($options.stressor.copy_file_bytes) != ''# --copy-file-bytes '$options.stressor.copy_file_bytes' #end if##
+        #if str($options.stressor.cpu) != ''# --cpu '$options.stressor.cpu' #end if
+        #if str($options.stressor.cpu_ops) != ''# --cpu-ops '$options.stressor.cpu_ops' #end if
+        #if str($options.stressor.cpu_load) != ''# --cpu-load '$options.stressor.cpu_load' #end if
+##        #if str($options.stressor.cpu_load_slice) != ''# --cpu-load-slice '$options.stressor.cpu_load_slice' #end if
+        #if str($options.stressor.cpu_method) != 'None'# --cpu-method '$options.stressor.cpu_method' #end if
+##        #if str($options.stressor.cpu_online) != ''# --cpu-online '$options.stressor.cpu_online' #end if
+##        #if str($options.stressor.cpu_online_ops) != ''# --cpu-online-ops '$options.stressor.cpu_online_ops' #end if
+##        #if str($options.stressor.crypt) != ''# --crypt '$options.stressor.crypt' #end if
+##        #if str($options.stressor.crypt_ops) != ''# --crypt-ops '$options.stressor.crypt_ops' #end if
+        #if str($options.stressor.cyclic) != ''# --cyclic '$options.stressor.cyclic' #end if
+##        #if str($options.stressor.cyclic_ops) != ''# --cyclic-ops '$options.stressor.cyclic_ops' #end if
+        #if str($options.stressor.cyclic_method) != 'None'# --cyclic-method '$options.stressor.cyclic_method' #end if
+        #if str($options.stressor.cyclic_dist) != ''# --cyclic-dist '$options.stressor.cyclic_dist' #end if
+##        #if str($options.stressor.cyclic_policy) != ''# --cyclic-policy '$options.stressor.cyclic_policy' #end if
+        #if str($options.stressor.cyclic_prio) != ''# --cyclic-prio '$options.stressor.cyclic_prio' #end if
+        #if str($options.stressor.cyclic_sleep) != ''# --cyclic-sleep '$options.stressor.cyclic_sleep' #end if
+##        #if str($options.stressor.daemon) != ''# --daemon '$options.stressor.daemon' #end if
+##        #if str($options.stressor.daemon_ops) != ''# --daemon-ops '$options.stressor.daemon_ops' #end if
+##        #if str($options.stressor.dccp) != ''# --dccp '$options.stressor.dccp' #end if
+##        #if str($options.stressor.dccp_domain) != 'None'# --dccp-domain '$options.stressor.dccp_domain' #end if
+##        #if str($options.stressor.dccp_ops) != ''# --dccp-ops '$options.stressor.dccp_ops' #end if
+##        #if str($options.stressor.dccp_opts) != 'None'# --dccp-opts '$options.stressor.dccp_opts' #end if
+##        #if str($options.stressor.dccp_port) != ''# --dccp-port '$options.stressor.dccp_port' #end if
+##        #if str($options.stressor.dentry) != ''# --dentry '$options.stressor.dentry' #end if
+##        #if str($options.stressor.dentry_ops) != ''# --dentry-ops '$options.stressor.dentry_ops' #end if
+##        #if str($options.stressor.dentry_order) != 'None'# --dentry-order '$options.stressor.dentry_order' #end if
+##        #if str($options.stressor.dentries) != ''# --dentries '$options.stressor.dentries' #end if
+##        #if str($options.stressor.dev) != ''# --dev '$options.stressor.dev' #end if
+##        #if str($options.stressor.dev_ops) != ''# --dev-ops '$options.stressor.dev_ops' #end if
+##        #if str($options.stressor.dev_shm) != ''# --dev-shm '$options.stressor.dev_shm' #end if
+##        #if str($options.stressor.dev_shm_ops) != ''# --dev-shm-ops '$options.stressor.dev_shm_ops' #end if
+##        #if str($options.stressor.dir) != ''# --dir '$options.stressor.dir' #end if
+##        #if str($options.stressor.dir_ops) != ''# --dir-ops '$options.stressor.dir_ops' #end if
+##        #if str($options.stressor.dir_dirs) != ''# --dir-dirs '$options.stressor.dir_dirs' #end if
+##        #if str($options.stressor.dirdeep) != ''# --dirdeep '$options.stressor.dirdeep' #end if
+##        #if str($options.stressor.dirdeep_ops) != ''# --dirdeep-ops '$options.stressor.dirdeep_ops' #end if
+##        #if str($options.stressor.dirdeep_dirs) != ''# --dirdeep-dirs '$options.stressor.dirdeep_dirs' #end if
+##        #if str($options.stressor.dirdeep_inodes) != ''# --dirdeep-inodes '$options.stressor.dirdeep_inodes' #end if
+##        #if str($options.stressor.dnotify) != ''# --dnotify '$options.stressor.dnotify' #end if
+##        #if str($options.stressor.dnotify_ops) != ''# --dnotify-ops '$options.stressor.dnotify_ops' #end if
+##        #if str($options.stressor.dup) != ''# --dup '$options.stressor.dup' #end if
+##        #if str($options.stressor.dup_ops) != ''# --dup-ops '$options.stressor.dup_ops' #end if
+##        #if str($options.stressor.dynlib) != ''# --dynlib '$options.stressor.dynlib' #end if
+##        #if str($options.stressor.dynlib_ops) != ''# --dynlib-ops '$options.stressor.dynlib_ops' #end if
+##        #if str($options.stressor.efivar) != ''# --efivar '$options.stressor.efivar' #end if
+##        #if str($options.stressor.efivar_ops) != ''# --efivar-ops '$options.stressor.efivar_ops' #end if
+##        #if str($options.stressor.enosys) != ''# --enosys '$options.stressor.enosys' #end if
+##        #if str($options.stressor.enosys_ops) != ''# --enosys-ops '$options.stressor.enosys_ops' #end if
+##        #if str($options.stressor.env) != ''# --env '$options.stressor.env' #end if
+##        #if str($options.stressor.env_ops) != ''# --env-ops '$options.stressor.env_ops' #end if
+##        #if str($options.stressor.epoll) != ''# --epoll '$options.stressor.epoll' #end if
+##        #if str($options.stressor.epoll_ops) != ''# --epoll-ops '$options.stressor.epoll_ops' #end if
+##        #if str($options.stressor.epoll_port) != ''# --epoll-port '$options.stressor.epoll_port' #end if
+##        #if str($options.stressor.epoll_domain) != 'None'# --epoll-domain '$options.stressor.epoll_domain' #end if
+##        #if str($options.stressor.eventfd) != ''# --eventfd '$options.stressor.eventfd' #end if
+##        #if str($options.stressor.eventfd_ops) != ''# --eventfd-ops '$options.stressor.eventfd_ops' #end if
+##        #if str($options.stressor.exec) != ''# --exec '$options.stressor.exec' #end if
+##        #if str($options.stressor.exec_ops) != ''# --exec-ops '$options.stressor.exec_ops' #end if
+##        #if str($options.stressor.exec_max) != ''# --exec-max '$options.stressor.exec_max' #end if
+##        #if str($options.stressor.fallocate) != ''# --fallocate '$options.stressor.fallocate' #end if
+##        #if str($options.stressor.fallocate_ops) != ''# --fallocate-ops '$options.stressor.fallocate_ops' #end if
+##        #if str($options.stressor.fallocate_bytes) != ''# --fallocate-bytes '$options.stressor.fallocate_bytes' #end if
+##        #if str($options.stressor.fanotify) != ''# --fanotify '$options.stressor.fanotify' #end if
+##        #if str($options.stressor.fanotify_ops) != ''# --fanotify-ops '$options.stressor.fanotify_ops' #end if
+##        #if str($options.stressor.fault) != ''# --fault '$options.stressor.fault' #end if
+##        #if str($options.stressor.fault_ops) != ''# --fault-ops '$options.stressor.fault_ops' #end if
+##        #if str($options.stressor.fcntl) != ''# --fcntl '$options.stressor.fcntl' #end if
+##        #if str($options.stressor.fcntl_ops) != ''# --fcntl-ops '$options.stressor.fcntl_ops' #end if
+##        #if str($options.stressor.fiemap) != ''# --fiemap '$options.stressor.fiemap' #end if
+##        #if str($options.stressor.fiemap_ops) != ''# --fiemap-ops '$options.stressor.fiemap_ops' #end if
+##        #if str($options.stressor.fiemap_bytes) != ''# --fiemap-bytes '$options.stressor.fiemap_bytes' #end if
+##        #if str($options.stressor.fifo) != ''# --fifo '$options.stressor.fifo' #end if
+##        #if str($options.stressor.fifo_ops) != ''# --fifo-ops '$options.stressor.fifo_ops' #end if
+##        #if str($options.stressor.fifo_readers) != ''# --fifo-readers '$options.stressor.fifo_readers' #end if
+##        #if str($options.stressor.file_ioctl) != ''# --file-ioctl '$options.stressor.file_ioctl' #end if
+##        #if str($options.stressor.file_ioctl_ops) != ''# --file-ioctl-ops '$options.stressor.file_ioctl_ops' #end if
+##        #if str($options.stressor.filename) != ''# --filename '$options.stressor.filename' #end if
+##        #if str($options.stressor.filename_ops) != ''# --filename-ops '$options.stressor.filename_ops' #end if
+##        #if str($options.stressor.filename_opts) != ''# --filename-opts '$options.stressor.filename_opts' #end if
+##        #if str($options.stressor.flock) != ''# --flock '$options.stressor.flock' #end if
+##        #if str($options.stressor.flock_ops) != ''# --flock-ops '$options.stressor.flock_ops' #end if
+        #if str($options.stressor.fork) != ''# --fork '$options.stressor.fork' #end if
+##        #if str($options.stressor.fork_ops) != ''# --fork-ops '$options.stressor.fork_ops' #end if
+##        #if str($options.stressor.fork_max) != ''# --fork-max '$options.stressor.fork_max' #end if
+##        #if str($options.stressor.fp_error) != ''# --fp-error '$options.stressor.fp_error' #end if
+##        #if str($options.stressor.fp_error_ops) != ''# --fp-error-ops '$options.stressor.fp_error_ops' #end if
+##        #if str($options.stressor.fstat) != ''# --fstat '$options.stressor.fstat' #end if
+##        #if str($options.stressor.fstat_ops) != ''# --fstat-ops '$options.stressor.fstat_ops' #end if
+##        #if str($options.stressor.fstat_dir) != ''# --fstat-dir '$options.stressor.fstat_dir' #end if
+##        #if str($options.stressor.full) != ''# --full '$options.stressor.full' #end if
+##        #if str($options.stressor.full_ops) != ''# --full-ops '$options.stressor.full_ops' #end if
+##        #if str($options.stressor.funccall) != ''# --funccall '$options.stressor.funccall' #end if
+##        #if str($options.stressor.funccall_ops) != ''# --funccall-ops '$options.stressor.funccall_ops' #end if
+##        #if str($options.stressor.funccall_method) != ''# --funccall-method '$options.stressor.funccall_method' #end if
+##        #if str($options.stressor.funcret) != ''# --funcret '$options.stressor.funcret' #end if
+##        #if str($options.stressor.funcret_ops) != ''# --funcret-ops '$options.stressor.funcret_ops' #end if
+##        #if str($options.stressor.funcret_method) != ''# --funcret-method '$options.stressor.funcret_method' #end if
+##        #if str($options.stressor.futex) != ''# --futex '$options.stressor.futex' #end if
+##        #if str($options.stressor.futex_ops) != ''# --futex-ops '$options.stressor.futex_ops' #end if
+##        #if str($options.stressor.get) != ''# --get '$options.stressor.get' #end if
+##        #if str($options.stressor.get_ops) != ''# --get-ops '$options.stressor.get_ops' #end if
+##        #if str($options.stressor.getdent) != ''# --getdent '$options.stressor.getdent' #end if
+##        #if str($options.stressor.getdent_ops) != ''# --getdent-ops '$options.stressor.getdent_ops' #end if
+##        #if str($options.stressor.getrandom) != ''# --getrandom '$options.stressor.getrandom' #end if
+##        #if str($options.stressor.getrandom_ops) != ''# --getrandom-ops '$options.stressor.getrandom_ops' #end if
+##        #if str($options.stressor.handle) != ''# --handle '$options.stressor.handle' #end if
+##        #if str($options.stressor.handle_ops) != ''# --handle-ops '$options.stressor.handle_ops' #end if
+        #if str($options.stressor.hdd) != ''# --hdd '$options.stressor.hdd' #end if
+##        #if str($options.stressor.hdd_ops) != ''# --hdd-ops '$options.stressor.hdd_ops' #end if
+##        #if str($options.stressor.hdd_bytes) != ''# --hdd-bytes '$options.stressor.hdd_bytes' #end if
+##        #if str($options.stressor.hdd_opts) != ''# --hdd-opts '$options.stressor.hdd_opts' #end if
+##        #if str($options.stressor.hdd_write_size) != ''# --hdd-write-size '$options.stressor.hdd_write_size' #end if
+##        #if str($options.stressor.heapsort) != ''# --heapsort '$options.stressor.heapsort' #end if
+##        #if str($options.stressor.heapsort_ops) != ''# --heapsort-ops '$options.stressor.heapsort_ops' #end if
+##        #if str($options.stressor.heapsort_size) != ''# --heapsort-size '$options.stressor.heapsort_size' #end if
+##        #if str($options.stressor.hrtimers) != ''# --hrtimers '$options.stressor.hrtimers' #end if
+##        #if str($options.stressor.hrtimers_ops) != ''# --hrtimers-ops '$options.stressor.hrtimers_ops' #end if
+##        #if str($options.stressor.hsearch) != ''# --hsearch '$options.stressor.hsearch' #end if
+##        #if str($options.stressor.hsearch_ops) != ''# --hsearch-ops '$options.stressor.hsearch_ops' #end if
+##        #if str($options.stressor.hsearch_size) != ''# --hsearch-size '$options.stressor.hsearch_size' #end if
+##        #if str($options.stressor.icache) != ''# --icache '$options.stressor.icache' #end if
+##        #if str($options.stressor.icache_ops) != ''# --icache-ops '$options.stressor.icache_ops' #end if
+##        #if str($options.stressor.icmp_flood) != ''# --icmp-flood '$options.stressor.icmp_flood' #end if
+##        #if str($options.stressor.icmp_flood_ops) != ''# --icmp-flood-ops '$options.stressor.icmp_flood_ops' #end if
+##        #if str($options.stressor.idle_page) != ''# --idle-page '$options.stressor.idle_page' #end if
+##        #if str($options.stressor.idle_page_ops) != ''# --idle-page-ops '$options.stressor.idle_page_ops' #end if
+##        #if str($options.stressor.inode_flags) != ''# --inode-flags '$options.stressor.inode_flags' #end if
+##        #if str($options.stressor.inode_flags_ops) != ''# --inode-flags-ops '$options.stressor.inode_flags_ops' #end if
+##        #if str($options.stressor.inotify) != ''# --inotify '$options.stressor.inotify' #end if
+##        #if str($options.stressor.inotify_ops) != ''# --inotify-ops '$options.stressor.inotify_ops' #end if
+        #if str($options.stressor.io) != ''# --io '$options.stressor.io' #end if
+##        #if str($options.stressor.io_ops) != ''# --io-ops '$options.stressor.io_ops' #end if
+        #if str($options.stressor.iomix) != ''# --iomix '$options.stressor.iomix' #end if
+        #if str($options.stressor.iomix_bytes) != ''# --iomix-bytes '$options.stressor.iomix_bytes' #end if
+##        #if str($options.stressor.iomix_ops) != ''# --iomix-ops '$options.stressor.iomix_ops' #end if
+##        #if str($options.stressor.ioport) != ''# --ioport '$options.stressor.ioport' #end if
+##        #if str($options.stressor.ioport_ops) != ''# --ioport-ops '$options.stressor.ioport_ops' #end if
+##        #if str($options.stressor.ioprio) != ''# --ioprio '$options.stressor.ioprio' #end if
+##        #if str($options.stressor.ioprio_ops) != ''# --ioprio-ops '$options.stressor.ioprio_ops' #end if
+##        #if str($options.stressor.io_uring) != ''# --io-uring '$options.stressor.io_uring' #end if
+##        #if str($options.stressor.io_uring_ops) != ''# --io-uring-ops '$options.stressor.io_uring_ops' #end if
+##        #if str($options.stressor.ipsec_mb) != ''# --ipsec-mb '$options.stressor.ipsec_mb' #end if
+##        #if str($options.stressor.ipsec_mb_ops) != ''# --ipsec-mb-ops '$options.stressor.ipsec_mb_ops' #end if
+##        #if str($options.stressor.ipsec_mb_feature) != ''# --ipsec-mb-feature '$options.stressor.ipsec_mb_feature' #end if
+##        #if str($options.stressor.itimer) != ''# --itimer '$options.stressor.itimer' #end if
+##        #if str($options.stressor.itimer_ops) != ''# --itimer-ops '$options.stressor.itimer_ops' #end if
+##        #if str($options.stressor.judy) != ''# --judy '$options.stressor.judy' #end if
+##        #if str($options.stressor.judy_ops) != ''# --judy-ops '$options.stressor.judy_ops' #end if
+##        #if str($options.stressor.judy_size) != ''# --judy-size '$options.stressor.judy_size' #end if
+##        #if str($options.stressor.kcmp) != ''# --kcmp '$options.stressor.kcmp' #end if
+##        #if str($options.stressor.kcmp_ops) != ''# --kcmp-ops '$options.stressor.kcmp_ops' #end if
+##        #if str($options.stressor.key) != ''# --key '$options.stressor.key' #end if
+##        #if str($options.stressor.key_ops) != ''# --key-ops '$options.stressor.key_ops' #end if
+##        #if str($options.stressor.kill) != ''# --kill '$options.stressor.kill' #end if
+##        #if str($options.stressor.kill_ops) != ''# --kill-ops '$options.stressor.kill_ops' #end if
+##        #if str($options.stressor.klog) != ''# --klog '$options.stressor.klog' #end if
+##        #if str($options.stressor.klog_ops) != ''# --klog-ops '$options.stressor.klog_ops' #end if
+##        #if str($options.stressor.lease) != ''# --lease '$options.stressor.lease' #end if
+##        #if str($options.stressor.lease_ops) != ''# --lease-ops '$options.stressor.lease_ops' #end if
+##        #if str($options.stressor.lease_breakers) != ''# --lease-breakers '$options.stressor.lease_breakers' #end if
+##        #if str($options.stressor.link) != ''# --link '$options.stressor.link' #end if
+##        #if str($options.stressor.link_ops) != ''# --link-ops '$options.stressor.link_ops' #end if
+##        #if str($options.stressor.locka) != ''# --locka '$options.stressor.locka' #end if
+##        #if str($options.stressor.locka_ops) != ''# --locka-ops '$options.stressor.locka_ops' #end if
+##        #if str($options.stressor.lockbus) != ''# --lockbus '$options.stressor.lockbus' #end if
+##        #if str($options.stressor.lockbus_ops) != ''# --lockbus-ops '$options.stressor.lockbus_ops' #end if
+##        #if str($options.stressor.lockf) != ''# --lockf '$options.stressor.lockf' #end if
+##        #if str($options.stressor.lockf_ops) != ''# --lockf-ops '$options.stressor.lockf_ops' #end if
+##        #if str($options.stressor.lockofd) != ''# --lockofd '$options.stressor.lockofd' #end if
+##        #if str($options.stressor.lockofd_ops) != ''# --lockofd-ops '$options.stressor.lockofd_ops' #end if
+##        #if str($options.stressor.longjmp) != ''# --longjmp '$options.stressor.longjmp' #end if
+##        #if str($options.stressor.longjmp_ops) != ''# --longjmp-ops '$options.stressor.longjmp_ops' #end if
+##        #if str($options.stressor.loop) != ''# --loop '$options.stressor.loop' #end if
+##        #if str($options.stressor.loop_ops) != ''# --loop-ops '$options.stressor.loop_ops' #end if
+##        #if str($options.stressor.lsearch) != ''# --lsearch '$options.stressor.lsearch' #end if
+##        #if str($options.stressor.lsearch_ops) != ''# --lsearch-ops '$options.stressor.lsearch_ops' #end if
+##        #if str($options.stressor.lsearch_size) != ''# --lsearch-size '$options.stressor.lsearch_size' #end if
+##        #if str($options.stressor.madvise) != ''# --madvise '$options.stressor.madvise' #end if
+##        #if str($options.stressor.madvise_ops) != ''# --madvise-ops '$options.stressor.madvise_ops' #end if
+##        #if str($options.stressor.malloc) != ''# --malloc '$options.stressor.malloc' #end if
+##        #if str($options.stressor.malloc_bytes) != ''# --malloc-bytes '$options.stressor.malloc_bytes' #end if
+##        #if str($options.stressor.malloc_max) != ''# --malloc-max '$options.stressor.malloc_max' #end if
+##        #if str($options.stressor.malloc_ops) != ''# --malloc-ops '$options.stressor.malloc_ops' #end if
+##        #if str($options.stressor.malloc_thresh) != ''# --malloc-thresh '$options.stressor.malloc_thresh' #end if
+##        #if str($options.stressor.matrix) != ''# --matrix '$options.stressor.matrix' #end if
+##        #if str($options.stressor.matrix_ops) != ''# --matrix-ops '$options.stressor.matrix_ops' #end if
+##        #if str($options.stressor.matrix_method) != 'None'# --matrix-method '$options.stressor.matrix_method' #end if
+##        #if str($options.stressor.matrix_size) != ''# --matrix-size '$options.stressor.matrix_size' #end if
+##        #if str($options.stressor.matrix_3d) != ''# --matrix-3d '$options.stressor.matrix_3d' #end if
+##        #if str($options.stressor.matrix_3d-ops) != ''# --matrix-3d-ops '$options.stressor.matrix_3d-ops' #end if
+##        #if str($options.stressor.matrix_3d-method) != 'None'# --matrix-3d-method '$options.stressor.matrix_3d-method' #end if
+##        #if str($options.stressor.matrix_3d-size) != ''# --matrix-3d-size '$options.stressor.matrix_3d-size' #end if
+##        #if str($options.stressor.mcontend) != ''# --mcontend '$options.stressor.mcontend' #end if
+##        #if str($options.stressor.mcontend_ops) != ''# --mcontend-ops '$options.stressor.mcontend_ops' #end if
+##        #if str($options.stressor.membarrier) != ''# --membarrier '$options.stressor.membarrier' #end if
+##        #if str($options.stressor.membarrier_ops) != ''# --membarrier-ops '$options.stressor.membarrier_ops' #end if
+##        #if str($options.stressor.memcpy) != ''# --memcpy '$options.stressor.memcpy' #end if
+##        #if str($options.stressor.memcpy_ops) != ''# --memcpy-ops '$options.stressor.memcpy_ops' #end if
+##        #if str($options.stressor.memcpy_method) != 'None'# --memcpy-method '$options.stressor.memcpy_method' #end if
+##        #if str($options.stressor.memfd) != ''# --memfd '$options.stressor.memfd' #end if
+##        #if str($options.stressor.memfd_bytes) != ''# --memfd-bytes '$options.stressor.memfd_bytes' #end if
+##        #if str($options.stressor.memfd_fds) != ''# --memfd-fds '$options.stressor.memfd_fds' #end if
+##        #if str($options.stressor.memfd_ops) != ''# --memfd-ops '$options.stressor.memfd_ops' #end if
+##        #if str($options.stressor.memhotplug) != ''# --memhotplug '$options.stressor.memhotplug' #end if
+##        #if str($options.stressor.memhotplug_ops) != ''# --memhotplug-ops '$options.stressor.memhotplug_ops' #end if
+##        #if str($options.stressor.memrate) != ''# --memrate '$options.stressor.memrate' #end if
+##        #if str($options.stressor.memrate_ops) != ''# --memrate-ops '$options.stressor.memrate_ops' #end if
+##        #if str($options.stressor.memrate_bytes) != ''# --memrate-bytes '$options.stressor.memrate_bytes' #end if
+##        #if str($options.stressor.memrate_rd_mbs) != ''# --memrate-rd-mbs '$options.stressor.memrate_rd_mbs' #end if
+##        #if str($options.stressor.memrate_wr_mbs) != ''# --memrate-wr-mbs '$options.stressor.memrate_wr_mbs' #end if
+##        #if str($options.stressor.memthrash) != ''# --memthrash '$options.stressor.memthrash' #end if
+##        #if str($options.stressor.memthrash_ops) != ''# --memthrash-ops '$options.stressor.memthrash_ops' #end if
+##        #if str($options.stressor.memthrash_method) != 'None'# --memthrash-method '$options.stressor.memthrash_method' #end if
+##        #if str($options.stressor.mergesort) != ''# --mergesort '$options.stressor.mergesort' #end if
+##        #if str($options.stressor.mergesort_ops) != ''# --mergesort-ops '$options.stressor.mergesort_ops' #end if
+##        #if str($options.stressor.mergesort_size) != ''# --mergesort-size '$options.stressor.mergesort_size' #end if
+##        #if str($options.stressor.mincore) != ''# --mincore '$options.stressor.mincore' #end if
+##        #if str($options.stressor.mincore_ops) != ''# --mincore-ops '$options.stressor.mincore_ops' #end if
+##        #if str($options.stressor.mknod) != ''# --mknod '$options.stressor.mknod' #end if
+##        #if str($options.stressor.mknod_ops) != ''# --mknod-ops '$options.stressor.mknod_ops' #end if
+##        #if str($options.stressor.mlock) != ''# --mlock '$options.stressor.mlock' #end if
+##        #if str($options.stressor.mlock_ops) != ''# --mlock-ops '$options.stressor.mlock_ops' #end if
+##        #if str($options.stressor.mlockmany) != ''# --mlockmany '$options.stressor.mlockmany' #end if
+##        #if str($options.stressor.mlockmany_ops) != ''# --mlockmany-ops '$options.stressor.mlockmany_ops' #end if
+##        #if str($options.stressor.mmap) != ''# --mmap '$options.stressor.mmap' #end if
+##        #if str($options.stressor.mmap_ops) != ''# --mmap-ops '$options.stressor.mmap_ops' #end if
+##        #if str($options.stressor.mmap_bytes) != ''# --mmap-bytes '$options.stressor.mmap_bytes' #end if
+##        #if str($options.stressor.mmapaddr) != ''# --mmapaddr '$options.stressor.mmapaddr' #end if
+##        #if str($options.stressor.mmapaddr_ops) != ''# --mmapaddr-ops '$options.stressor.mmapaddr_ops' #end if
+##        #if str($options.stressor.mmapfixed) != ''# --mmapfixed '$options.stressor.mmapfixed' #end if
+##        #if str($options.stressor.mmapfixed_ops) != ''# --mmapfixed-ops '$options.stressor.mmapfixed_ops' #end if
+##        #if str($options.stressor.mmapfork) != ''# --mmapfork '$options.stressor.mmapfork' #end if
+##        #if str($options.stressor.mmapfork_ops) != ''# --mmapfork-ops '$options.stressor.mmapfork_ops' #end if
+##        #if str($options.stressor.mmapmany) != ''# --mmapmany '$options.stressor.mmapmany' #end if
+##        #if str($options.stressor.mmapmany_ops) != ''# --mmapmany-ops '$options.stressor.mmapmany_ops' #end if
+##        #if str($options.stressor.mq) != ''# --mq '$options.stressor.mq' #end if
+##        #if str($options.stressor.mq_ops) != ''# --mq-ops '$options.stressor.mq_ops' #end if
+##        #if str($options.stressor.mq_size) != ''# --mq-size '$options.stressor.mq_size' #end if
+##        #if str($options.stressor.mremap) != ''# --mremap '$options.stressor.mremap' #end if
+##        #if str($options.stressor.mremap_ops) != ''# --mremap-ops '$options.stressor.mremap_ops' #end if
+##        #if str($options.stressor.mremap_bytes) != ''# --mremap-bytes '$options.stressor.mremap_bytes' #end if
+##        #if str($options.stressor.msg) != ''# --msg '$options.stressor.msg' #end if
+##        #if str($options.stressor.msg_ops) != ''# --msg-ops '$options.stressor.msg_ops' #end if
+##        #if str($options.stressor.msg_types) != ''# --msg-types '$options.stressor.msg_types' #end if
+##        #if str($options.stressor.msync) != ''# --msync '$options.stressor.msync' #end if
+##        #if str($options.stressor.msync_ops) != ''# --msync-ops '$options.stressor.msync_ops' #end if
+##        #if str($options.stressor.msync_bytes) != ''# --msync-bytes '$options.stressor.msync_bytes' #end if
+##        #if str($options.stressor.nanosleep) != ''# --nanosleep '$options.stressor.nanosleep' #end if
+##        #if str($options.stressor.nanosleep_ops) != ''# --nanosleep-ops '$options.stressor.nanosleep_ops' #end if
+##        #if str($options.stressor.netdev) != ''# --netdev '$options.stressor.netdev' #end if
+##        #if str($options.stressor.netdev_ops) != ''# --netdev-ops '$options.stressor.netdev_ops' #end if
+##        #if str($options.stressor.netlink_proc) != ''# --netlink-proc '$options.stressor.netlink_proc' #end if
+##        #if str($options.stressor.netlink_proc_ops) != ''# --netlink-proc-ops '$options.stressor.netlink_proc_ops' #end if
+##        #if str($options.stressor.netlink_task) != ''# --netlink-task '$options.stressor.netlink_task' #end if
+##        #if str($options.stressor.netlink_task_ops) != ''# --netlink-task-ops '$options.stressor.netlink_task_ops' #end if
+##        #if str($options.stressor.nice) != ''# --nice '$options.stressor.nice' #end if
+##        #if str($options.stressor.nice_ops) != ''# --nice-ops '$options.stressor.nice_ops' #end if
+##        #if str($options.stressor.nop) != ''# --nop '$options.stressor.nop' #end if
+##        #if str($options.stressor.nop_ops) != ''# --nop-ops '$options.stressor.nop_ops' #end if
+##        #if str($options.stressor.null) != ''# --null '$options.stressor.null' #end if
+##        #if str($options.stressor.null_ops) != ''# --null-ops '$options.stressor.null_ops' #end if
+##        #if str($options.stressor.numa) != ''# --numa '$options.stressor.numa' #end if
+##        #if str($options.stressor.numa_ops) != ''# --numa-ops '$options.stressor.numa_ops' #end if
+##        #if str($options.stressor.oom_pipe) != ''# --oom-pipe '$options.stressor.oom_pipe' #end if
+##        #if str($options.stressor.oom_pipe_ops) != ''# --oom-pipe-ops '$options.stressor.oom_pipe_ops' #end if
+##        #if str($options.stressor.opcode) != ''# --opcode '$options.stressor.opcode' #end if
+##        #if str($options.stressor.opcode_ops) != ''# --opcode-ops '$options.stressor.opcode_ops' #end if
+##        #if str($options.stressor.opcode_method) != 'None'# --opcode-method '$options.stressor.opcode_method' #end if
+##        #if str($options.stressor.open) != ''# --open '$options.stressor.open' #end if
+##        #if str($options.stressor.open_ops) != ''# --open-ops '$options.stressor.open_ops' #end if
+##        #if str($options.stressor.personality) != ''# --personality '$options.stressor.personality' #end if
+##        #if str($options.stressor.personality_ops) != ''# --personality-ops '$options.stressor.personality_ops' #end if
+##        #if str($options.stressor.physpage) != ''# --physpage '$options.stressor.physpage' #end if
+##        #if str($options.stressor.physpage_ops) != ''# --physpage-ops '$options.stressor.physpage_ops' #end if
+##        #if str($options.stressor.pidfd) != ''# --pidfd '$options.stressor.pidfd' #end if
+##        #if str($options.stressor.pidfd_ops) != ''# --pidfd-ops '$options.stressor.pidfd_ops' #end if
+##        #if str($options.stressor.ping_sock) != ''# --ping-sock '$options.stressor.ping_sock' #end if
+##        #if str($options.stressor.ping_sock_ops) != ''# --ping-sock-ops '$options.stressor.ping_sock_ops' #end if
+##        #if str($options.stressor.pipe) != ''# --pipe '$options.stressor.pipe' #end if
+##        #if str($options.stressor.pipe_ops) != ''# --pipe-ops '$options.stressor.pipe_ops' #end if
+##        #if str($options.stressor.pipe_data_size) != ''# --pipe-data-size '$options.stressor.pipe_data_size' #end if
+##        #if str($options.stressor.pipe_size) != ''# --pipe-size '$options.stressor.pipe_size' #end if
+##        #if str($options.stressor.pipeherd) != ''# --pipeherd '$options.stressor.pipeherd' #end if
+##        #if str($options.stressor.pipeherd_ops) != ''# --pipeherd-ops '$options.stressor.pipeherd_ops' #end if
+##        #if str($options.stressor.pkey) != ''# --pkey '$options.stressor.pkey' #end if
+##        #if str($options.stressor.pkey_ops) != ''# --pkey-ops '$options.stressor.pkey_ops' #end if
+##        #if str($options.stressor.poll) != ''# --poll '$options.stressor.poll' #end if
+##        #if str($options.stressor.poll_ops) != ''# --poll-ops '$options.stressor.poll_ops' #end if
+##        #if str($options.stressor.procfs) != ''# --procfs '$options.stressor.procfs' #end if
+##        #if str($options.stressor.procfs_ops) != ''# --procfs-ops '$options.stressor.procfs_ops' #end if
+##        #if str($options.stressor.procfs) != ''# --procfs '$options.stressor.procfs' #end if
+##        #if str($options.stressor.procfs_ops) != ''# --procfs-ops '$options.stressor.procfs_ops' #end if
+##        #if str($options.stressor.pthread) != ''# --pthread '$options.stressor.pthread' #end if
+##        #if str($options.stressor.pthread_ops) != ''# --pthread-ops '$options.stressor.pthread_ops' #end if
+##        #if str($options.stressor.pthread_max) != ''# --pthread-max '$options.stressor.pthread_max' #end if
+##        #if str($options.stressor.ptrace) != ''# --ptrace '$options.stressor.ptrace' #end if
+##        #if str($options.stressor.ptrace_ops) != ''# --ptrace-ops '$options.stressor.ptrace_ops' #end if
+##        #if str($options.stressor.pty) != ''# --pty '$options.stressor.pty' #end if
+##        #if str($options.stressor.pty_ops) != ''# --pty-ops '$options.stressor.pty_ops' #end if
+##        #if str($options.stressor.pty_max) != ''# --pty-max '$options.stressor.pty_max' #end if
+##        #if str($options.stressor.qsort) != ''# --qsort '$options.stressor.qsort' #end if
+##        #if str($options.stressor.qsort_ops) != ''# --qsort-ops '$options.stressor.qsort_ops' #end if
+##        #if str($options.stressor.qsort_size) != ''# --qsort-size '$options.stressor.qsort_size' #end if
+##        #if str($options.stressor.quota) != ''# --quota '$options.stressor.quota' #end if
+##        #if str($options.stressor.quota_ops) != ''# --quota-ops '$options.stressor.quota_ops' #end if
+##        #if str($options.stressor.radixsort) != ''# --radixsort '$options.stressor.radixsort' #end if
+##        #if str($options.stressor.radixsort_ops) != ''# --radixsort-ops '$options.stressor.radixsort_ops' #end if
+##        #if str($options.stressor.radixsort_size) != ''# --radixsort-size '$options.stressor.radixsort_size' #end if
+##        #if str($options.stressor.ramfs) != ''# --ramfs '$options.stressor.ramfs' #end if
+##        #if str($options.stressor.ramfs_ops) != ''# --ramfs-ops '$options.stressor.ramfs_ops' #end if
+##        #if str($options.stressor.ramfs_bytes) != ''# --ramfs-bytes '$options.stressor.ramfs_bytes' #end if
+##        #if str($options.stressor.rawdev) != ''# --rawdev '$options.stressor.rawdev' #end if
+##        #if str($options.stressor.rawdev_ops) != ''# --rawdev-ops '$options.stressor.rawdev_ops' #end if
+##        #if str($options.stressor.rawdev_method) != ''# --rawdev-method '$options.stressor.rawdev_method' #end if
+##        #if str($options.stressor.rawpkt) != ''# --rawpkt '$options.stressor.rawpkt' #end if
+##        #if str($options.stressor.rawpkt_ops) != ''# --rawpkt-ops '$options.stressor.rawpkt_ops' #end if
+##        #if str($options.stressor.rawpkt_port) != ''# --rawpkt-port '$options.stressor.rawpkt_port' #end if
+##        #if str($options.stressor.rawsock) != ''# --rawsock '$options.stressor.rawsock' #end if
+##        #if str($options.stressor.rawsock_ops) != ''# --rawsock-ops '$options.stressor.rawsock_ops' #end if
+##        #if str($options.stressor.rawudp) != ''# --rawudp '$options.stressor.rawudp' #end if
+##        #if str($options.stressor.rawudp_ops) != ''# --rawudp-ops '$options.stressor.rawudp_ops' #end if
+##        #if str($options.stressor.rawudp_port) != ''# --rawudp-port '$options.stressor.rawudp_port' #end if
+##        #if str($options.stressor.rdrand) != ''# --rdrand '$options.stressor.rdrand' #end if
+##        #if str($options.stressor.rdrand_ops) != ''# --rdrand-ops '$options.stressor.rdrand_ops' #end if
+##        #if str($options.stressor.readahead) != ''# --readahead '$options.stressor.readahead' #end if
+##        #if str($options.stressor.readahead_bytes) != ''# --readahead-bytes '$options.stressor.readahead_bytes' #end if
+##        #if str($options.stressor.readahead_ops) != ''# --readahead-ops '$options.stressor.readahead_ops' #end if
+##        #if str($options.stressor.reboot) != ''# --reboot '$options.stressor.reboot' #end if
+##        #if str($options.stressor.reboot_ops) != ''# --reboot-ops '$options.stressor.reboot_ops' #end if
+##        #if str($options.stressor.remap) != ''# --remap '$options.stressor.remap' #end if
+##        #if str($options.stressor.remap_ops) != ''# --remap-ops '$options.stressor.remap_ops' #end if
+##        #if str($options.stressor.rename) != ''# --rename '$options.stressor.rename' #end if
+##        #if str($options.stressor.rename_ops) != ''# --rename-ops '$options.stressor.rename_ops' #end if
+##        #if str($options.stressor.resources) != ''# --resources '$options.stressor.resources' #end if
+##        #if str($options.stressor.resources_ops) != ''# --resources-ops '$options.stressor.resources_ops' #end if
+##        #if str($options.stressor.revio) != ''# --revio '$options.stressor.revio' #end if
+##        #if str($options.stressor.revio_ops) != ''# --revio-ops '$options.stressor.revio_ops' #end if
+##        #if str($options.stressor.rmap) != ''# --rmap '$options.stressor.rmap' #end if
+##        #if str($options.stressor.rmap_ops) != ''# --rmap-ops '$options.stressor.rmap_ops' #end if
+##        #if str($options.stressor.rmap) != ''# --rmap '$options.stressor.rmap' #end if
+##        #if str($options.stressor.rmap_ops) != ''# --rmap-ops '$options.stressor.rmap_ops' #end if
+##        #if str($options.stressor.rseq) != ''# --rseq '$options.stressor.rseq' #end if
+##        #if str($options.stressor.rseq_ops) != ''# --rseq-ops '$options.stressor.rseq_ops' #end if
+##        #if str($options.stressor.rtc) != ''# --rtc '$options.stressor.rtc' #end if
+##        #if str($options.stressor.rtc_ops) != ''# --rtc-ops '$options.stressor.rtc_ops' #end if
+##        #if str($options.stressor.schedpolicy) != ''# --schedpolicy '$options.stressor.schedpolicy' #end if
+##        #if str($options.stressor.schedpolicy_ops) != ''# --schedpolicy-ops '$options.stressor.schedpolicy_ops' #end if
+##        #if str($options.stressor.sctp) != ''# --sctp '$options.stressor.sctp' #end if
+##        #if str($options.stressor.sctp_ops) != ''# --sctp-ops '$options.stressor.sctp_ops' #end if
+##        #if str($options.stressor.sctp_domain) != 'None'# --sctp-domain '$options.stressor.sctp_domain' #end if
+##        #if str($options.stressor.sctp_port) != ''# --sctp-port '$options.stressor.sctp_port' #end if
+##        #if str($options.stressor.sctp_sched) != ''# --sctp-sched '$options.stressor.sctp_sched' #end if
+##        #if str($options.stressor.seal) != ''# --seal '$options.stressor.seal' #end if
+##        #if str($options.stressor.seal_ops) != ''# --seal-ops '$options.stressor.seal_ops' #end if
+##        #if str($options.stressor.seccomp) != ''# --seccomp '$options.stressor.seccomp' #end if
+##        #if str($options.stressor.seccomp_ops) != ''# --seccomp-ops '$options.stressor.seccomp_ops' #end if
+##        #if str($options.stressor.secretmem) != ''# --secretmem '$options.stressor.secretmem' #end if
+##        #if str($options.stressor.secretmem_ops) != ''# --secretmem-ops '$options.stressor.secretmem_ops' #end if
+##        #if str($options.stressor.seek) != ''# --seek '$options.stressor.seek' #end if
+##        #if str($options.stressor.seek_ops) != ''# --seek-ops '$options.stressor.seek_ops' #end if
+##        #if str($options.stressor.seek_size) != ''# --seek-size '$options.stressor.seek_size' #end if
+##        #if str($options.stressor.sem) != ''# --sem '$options.stressor.sem' #end if
+##        #if str($options.stressor.sem_ops) != ''# --sem-ops '$options.stressor.sem_ops' #end if
+##        #if str($options.stressor.sem_procs) != ''# --sem-procs '$options.stressor.sem_procs' #end if
+##        #if str($options.stressor.sem_sysv) != ''# --sem-sysv '$options.stressor.sem_sysv' #end if
+##        #if str($options.stressor.sem_sysv_ops) != ''# --sem-sysv-ops '$options.stressor.sem_sysv_ops' #end if
+##        #if str($options.stressor.sem_sysv_procs) != ''# --sem-sysv-procs '$options.stressor.sem_sysv_procs' #end if
+##        #if str($options.stressor.sendfile) != ''# --sendfile '$options.stressor.sendfile' #end if
+##        #if str($options.stressor.sendfile_ops) != ''# --sendfile-ops '$options.stressor.sendfile_ops' #end if
+##        #if str($options.stressor.sendfile_size) != ''# --sendfile-size '$options.stressor.sendfile_size' #end if
+##        #if str($options.stressor.session) != ''# --session '$options.stressor.session' #end if
+##        #if str($options.stressor.session_ops) != ''# --session-ops '$options.stressor.session_ops' #end if
+##        #if str($options.stressor.set) != ''# --set '$options.stressor.set' #end if
+##        #if str($options.stressor.set_ops) != ''# --set-ops '$options.stressor.set_ops' #end if
+##        #if str($options.stressor.shellsort) != ''# --shellsort '$options.stressor.shellsort' #end if
+##        #if str($options.stressor.shellsort_ops) != ''# --shellsort-ops '$options.stressor.shellsort_ops' #end if
+##        #if str($options.stressor.shellsort_size) != ''# --shellsort-size '$options.stressor.shellsort_size' #end if
+##        #if str($options.stressor.shm) != ''# --shm '$options.stressor.shm' #end if
+##        #if str($options.stressor.shm_ops) != ''# --shm-ops '$options.stressor.shm_ops' #end if
+##        #if str($options.stressor.shm_bytes) != ''# --shm-bytes '$options.stressor.shm_bytes' #end if
+##        #if str($options.stressor.shm_segs) != ''# --shm-segs '$options.stressor.shm_segs' #end if
+##        #if str($options.stressor.shm_sysv) != ''# --shm-sysv '$options.stressor.shm_sysv' #end if
+##        #if str($options.stressor.shm_sysv_ops) != ''# --shm-sysv-ops '$options.stressor.shm_sysv_ops' #end if
+##        #if str($options.stressor.shm_sysv_bytes) != ''# --shm-sysv-bytes '$options.stressor.shm_sysv_bytes' #end if
+##        #if str($options.stressor.shm_sysv_segs) != ''# --shm-sysv-segs '$options.stressor.shm_sysv_segs' #end if
+##        #if str($options.stressor.sigabrt) != ''# --sigabrt '$options.stressor.sigabrt' #end if
+##        #if str($options.stressor.sigabrt_ops) != ''# --sigabrt-ops '$options.stressor.sigabrt_ops' #end if
+##        #if str($options.stressor.sigchld) != ''# --sigchld '$options.stressor.sigchld' #end if
+##        #if str($options.stressor.sigchld_ops) != ''# --sigchld-ops '$options.stressor.sigchld_ops' #end if
+##        #if str($options.stressor.sigfd) != ''# --sigfd '$options.stressor.sigfd' #end if
+##        #if str($options.stressor.sigfd_ops) != ''# --sigfd-ops '$options.stressor.sigfd_ops' #end if
+##        #if str($options.stressor.sigfpe) != ''# --sigfpe '$options.stressor.sigfpe' #end if
+##        #if str($options.stressor.sigfpe_ops) != ''# --sigfpe-ops '$options.stressor.sigfpe_ops' #end if
+##        #if str($options.stressor.sigio) != ''# --sigio '$options.stressor.sigio' #end if
+##        #if str($options.stressor.sigio_ops) != ''# --sigio-ops '$options.stressor.sigio_ops' #end if
+##        #if str($options.stressor.signal) != ''# --signal '$options.stressor.signal' #end if
+##        #if str($options.stressor.signal_ops) != ''# --signal-ops '$options.stressor.signal_ops' #end if
+##        #if str($options.stressor.sigpending) != ''# --sigpending '$options.stressor.sigpending' #end if
+##        #if str($options.stressor.sigpending_ops) != ''# --sigpending-ops '$options.stressor.sigpending_ops' #end if
+##        #if str($options.stressor.sigpipe) != ''# --sigpipe '$options.stressor.sigpipe' #end if
+##        #if str($options.stressor.sigpipe_ops) != ''# --sigpipe-ops '$options.stressor.sigpipe_ops' #end if
+##        #if str($options.stressor.sigq) != ''# --sigq '$options.stressor.sigq' #end if
+##        #if str($options.stressor.sigq_ops) != ''# --sigq-ops '$options.stressor.sigq_ops' #end if
+##        #if str($options.stressor.sigrt) != ''# --sigrt '$options.stressor.sigrt' #end if
+##        #if str($options.stressor.sigrt_ops) != ''# --sigrt-ops '$options.stressor.sigrt_ops' #end if
+##        #if str($options.stressor.sigsegv) != ''# --sigsegv '$options.stressor.sigsegv' #end if
+##        #if str($options.stressor.sigsegv_ops) != ''# --sigsegv-ops '$options.stressor.sigsegv_ops' #end if
+##        #if str($options.stressor.sigsuspend) != ''# --sigsuspend '$options.stressor.sigsuspend' #end if
+##        #if str($options.stressor.sigsuspend_ops) != ''# --sigsuspend-ops '$options.stressor.sigsuspend_ops' #end if
+##        #if str($options.stressor.sigtrap) != ''# --sigtrap '$options.stressor.sigtrap' #end if
+##        #if str($options.stressor.sigtrap_ops) != ''# --sigtrap-ops '$options.stressor.sigtrap_ops' #end if
+##        #if str($options.stressor.skiplist) != ''# --skiplist '$options.stressor.skiplist' #end if
+##        #if str($options.stressor.skiplist_ops) != ''# --skiplist-ops '$options.stressor.skiplist_ops' #end if
+##        #if str($options.stressor.skiplist_size) != ''# --skiplist-size '$options.stressor.skiplist_size' #end if
+##        #if str($options.stressor.sleep) != ''# --sleep '$options.stressor.sleep' #end if
+##        #if str($options.stressor.sleep_ops) != ''# --sleep-ops '$options.stressor.sleep_ops' #end if
+##        #if str($options.stressor.sleep_max) != ''# --sleep-max '$options.stressor.sleep_max' #end if
+##        #if str($options.stressor.sock) != ''# --sock '$options.stressor.sock' #end if
+##        #if str($options.stressor.sock_domain) != 'None'# --sock-domain '$options.stressor.sock_domain' #end if
+##        #if str($options.stressor.sock_ops) != ''# --sock-ops '$options.stressor.sock_ops' #end if
+##        #if str($options.stressor.sock_opts) != 'None'# --sock-opts '$options.stressor.sock_opts' #end if
+##        #if str($options.stressor.sock_port) != ''# --sock-port '$options.stressor.sock_port' #end if
+##        #if str($options.stressor.sock_type) != 'None'# --sock-type '$options.stressor.sock_type' #end if
+##        #if str($options.stressor.sock) != ''# --sock '$options.stressor.sock' #end if
+##        #if str($options.stressor.sock_ops) != ''# --sock-ops '$options.stressor.sock_ops' #end if
+##        #if str($options.stressor.sockdiag) != ''# --sockdiag '$options.stressor.sockdiag' #end if
+##        #if str($options.stressor.sockdiag_ops) != ''# --sockdiag-ops '$options.stressor.sockdiag_ops' #end if
+##        #if str($options.stressor.sockfd) != ''# --sockfd '$options.stressor.sockfd' #end if
+##        #if str($options.stressor.sockfd_ops) != ''# --sockfd-ops '$options.stressor.sockfd_ops' #end if
+##        #if str($options.stressor.sockfd_port) != ''# --sockfd-port '$options.stressor.sockfd_port' #end if
+##        #if str($options.stressor.sockpair) != ''# --sockpair '$options.stressor.sockpair' #end if
+##        #if str($options.stressor.sockpair_ops) != ''# --sockpair-ops '$options.stressor.sockpair_ops' #end if
+##        #if str($options.stressor.sockmany) != ''# --sockmany '$options.stressor.sockmany' #end if
+##        #if str($options.stressor.sockmany_ops) != ''# --sockmany-ops '$options.stressor.sockmany_ops' #end if
+##        #if str($options.stressor.softlockup) != ''# --softlockup '$options.stressor.softlockup' #end if
+##        #if str($options.stressor.softlockup_ops) != ''# --softlockup-ops '$options.stressor.softlockup_ops' #end if
+##        #if str($options.stressor.spawn) != ''# --spawn '$options.stressor.spawn' #end if
+##        #if str($options.stressor.spawn_ops) != ''# --spawn-ops '$options.stressor.spawn_ops' #end if
+##        #if str($options.stressor.splice) != ''# --splice '$options.stressor.splice' #end if
+##        #if str($options.stressor.splice_ops) != ''# --splice-ops '$options.stressor.splice_ops' #end if
+##        #if str($options.stressor.splice_bytes) != ''# --splice-bytes '$options.stressor.splice_bytes' #end if
+##        #if str($options.stressor.stack) != ''# --stack '$options.stressor.stack' #end if
+##        #if str($options.stressor.stack_ops) != ''# --stack-ops '$options.stressor.stack_ops' #end if
+##        #if str($options.stressor.stackmmap) != ''# --stackmmap '$options.stressor.stackmmap' #end if
+##        #if str($options.stressor.stackmmap_ops) != ''# --stackmmap-ops '$options.stressor.stackmmap_ops' #end if
+##        #if str($options.stressor.str) != ''# --str '$options.stressor.str' #end if
+##        #if str($options.stressor.str_method) != ''# --str-method '$options.stressor.str_method' #end if
+##        #if str($options.stressor.str_ops) != ''# --str-ops '$options.stressor.str_ops' #end if
+##        #if str($options.stressor.stream) != ''# --stream '$options.stressor.stream' #end if
+##        #if str($options.stressor.stream_ops) != ''# --stream-ops '$options.stressor.stream_ops' #end if
+##        #if str($options.stressor.stream_l3-size) != ''# --stream-l3-size '$options.stressor.stream_l3-size' #end if
+##        #if str($options.stressor.stream_madvise) != ''# --stream-madvise '$options.stressor.stream_madvise' #end if
+##        #if str($options.stressor.swap) != ''# --swap '$options.stressor.swap' #end if
+##        #if str($options.stressor.swap_ops) != ''# --swap-ops '$options.stressor.swap_ops' #end if
+##        #if str($options.stressor.switch) != ''# --switch '$options.stressor.switch' #end if
+##        #if str($options.stressor.switch_ops) != ''# --switch-ops '$options.stressor.switch_ops' #end if
+##        #if str($options.stressor.switch_freq) != ''# --switch-freq '$options.stressor.switch_freq' #end if
+##        #if str($options.stressor.symlink) != ''# --symlink '$options.stressor.symlink' #end if
+##        #if str($options.stressor.symlink_ops) != ''# --symlink-ops '$options.stressor.symlink_ops' #end if
+##        #if str($options.stressor.sync_file) != ''# --sync-file '$options.stressor.sync_file' #end if
+##        #if str($options.stressor.sync_file_ops) != ''# --sync-file-ops '$options.stressor.sync_file_ops' #end if
+##        #if str($options.stressor.sync_file_bytes) != ''# --sync-file-bytes '$options.stressor.sync_file_bytes' #end if
+##        #if str($options.stressor.sysbadaddr) != ''# --sysbadaddr '$options.stressor.sysbadaddr' #end if
+##        #if str($options.stressor.sysbadaddr_ops) != ''# --sysbadaddr-ops '$options.stressor.sysbadaddr_ops' #end if
+##        #if str($options.stressor.sysinfo) != ''# --sysinfo '$options.stressor.sysinfo' #end if
+##        #if str($options.stressor.sysinfo_ops) != ''# --sysinfo-ops '$options.stressor.sysinfo_ops' #end if
+##        #if str($options.stressor.sysinval) != ''# --sysinval '$options.stressor.sysinval' #end if
+##        #if str($options.stressor.sysinval_ops) != ''# --sysinval-ops '$options.stressor.sysinval_ops' #end if
+##        #if str($options.stressor.sysfs) != ''# --sysfs '$options.stressor.sysfs' #end if
+##        #if str($options.stressor.sysfs_ops) != ''# --sysfs-ops '$options.stressor.sysfs_ops' #end if
+##        #if str($options.stressor.tee) != ''# --tee '$options.stressor.tee' #end if
+##        #if str($options.stressor.tee_ops) != ''# --tee-ops '$options.stressor.tee_ops' #end if
+##        #if str($options.stressor.timer) != ''# --timer '$options.stressor.timer' #end if
+##        #if str($options.stressor.timer_ops) != ''# --timer-ops '$options.stressor.timer_ops' #end if
+##        #if str($options.stressor.timer_freq) != ''# --timer-freq '$options.stressor.timer_freq' #end if
+##        #if str($options.stressor.timerfd) != ''# --timerfd '$options.stressor.timerfd' #end if
+##        #if str($options.stressor.timerfd_ops) != ''# --timerfd-ops '$options.stressor.timerfd_ops' #end if
+##        #if str($options.stressor.timerfd_freq) != ''# --timerfd-freq '$options.stressor.timerfd_freq' #end if
+##        #if str($options.stressor.tlb_shootdown) != ''# --tlb-shootdown '$options.stressor.tlb_shootdown' #end if
+##        #if str($options.stressor.tmpfs) != ''# --tmpfs '$options.stressor.tmpfs' #end if
+##        #if str($options.stressor.tmpfs_ops) != ''# --tmpfs-ops '$options.stressor.tmpfs_ops' #end if
+##        #if str($options.stressor.tree) != ''# --tree '$options.stressor.tree' #end if
+##        #if str($options.stressor.tree_ops) != ''# --tree-ops '$options.stressor.tree_ops' #end if
+##        #if str($options.stressor.tree_method) != 'None'# --tree-method '$options.stressor.tree_method' #end if
+##        #if str($options.stressor.tree_size) != ''# --tree-size '$options.stressor.tree_size' #end if
+##        #if str($options.stressor.tsc) != ''# --tsc '$options.stressor.tsc' #end if
+##        #if str($options.stressor.tsc_ops) != ''# --tsc-ops '$options.stressor.tsc_ops' #end if
+##        #if str($options.stressor.tsearch) != ''# --tsearch '$options.stressor.tsearch' #end if
+##        #if str($options.stressor.tsearch_ops) != ''# --tsearch-ops '$options.stressor.tsearch_ops' #end if
+##        #if str($options.stressor.tsearch_size) != ''# --tsearch-size '$options.stressor.tsearch_size' #end if
+##        #if str($options.stressor.tun) != ''# --tun '$options.stressor.tun' #end if
+##        #if str($options.stressor.tun_ops) != ''# --tun-ops '$options.stressor.tun_ops' #end if
+##        #if str($options.stressor.udp) != ''# --udp '$options.stressor.udp' #end if
+##        #if str($options.stressor.udp_ops) != ''# --udp-ops '$options.stressor.udp_ops' #end if
+##        #if str($options.stressor.udp_domain) != 'None'# --udp-domain '$options.stressor.udp_domain' #end if
+##        #if str($options.stressor.udp_port) != ''# --udp-port '$options.stressor.udp_port' #end if
+##        #if str($options.stressor.udp_flood) != ''# --udp-flood '$options.stressor.udp_flood' #end if
+##        #if str($options.stressor.udp_flood_ops) != ''# --udp-flood-ops '$options.stressor.udp_flood_ops' #end if
+##        #if str($options.stressor.udp_flood_domain) != 'None'# --udp-flood-domain '$options.stressor.udp_flood_domain' #end if
+##        #if str($options.stressor.unshare) != ''# --unshare '$options.stressor.unshare' #end if
+##        #if str($options.stressor.unshare_ops) != ''# --unshare-ops '$options.stressor.unshare_ops' #end if
+##        #if str($options.stressor.uprobe) != ''# --uprobe '$options.stressor.uprobe' #end if
+##        #if str($options.stressor.uprobe_ops) != ''# --uprobe-ops '$options.stressor.uprobe_ops' #end if
+##        #if str($options.stressor.urandom) != ''# --urandom '$options.stressor.urandom' #end if
+##        #if str($options.stressor.urandom_ops) != ''# --urandom-ops '$options.stressor.urandom_ops' #end if
+##        #if str($options.stressor.userfaultfd) != ''# --userfaultfd '$options.stressor.userfaultfd' #end if
+##        #if str($options.stressor.userfaultfd_ops) != ''# --userfaultfd-ops '$options.stressor.userfaultfd_ops' #end if
+##        #if str($options.stressor.utime) != ''# --utime '$options.stressor.utime' #end if
+##        #if str($options.stressor.utime_ops) != ''# --utime-ops '$options.stressor.utime_ops' #end if
+##        #if str($options.stressor.vdso) != ''# --vdso '$options.stressor.vdso' #end if
+##        #if str($options.stressor.vdso_ops) != ''# --vdso-ops '$options.stressor.vdso_ops' #end if
+##        #if str($options.stressor.vdso_func) != ''# --vdso-func '$options.stressor.vdso_func' #end if
+##        #if str($options.stressor.vecmath) != ''# --vecmath '$options.stressor.vecmath' #end if
+##        #if str($options.stressor.vecmath_ops) != ''# --vecmath-ops '$options.stressor.vecmath_ops' #end if
+##        #if str($options.stressor.verity) != ''# --verity '$options.stressor.verity' #end if
+##        #if str($options.stressor.verity_ops) != ''# --verity-ops '$options.stressor.verity_ops' #end if
+##        #if str($options.stressor.vfork) != ''# --vfork '$options.stressor.vfork' #end if
+##        #if str($options.stressor.vfork_ops) != ''# --vfork-ops '$options.stressor.vfork_ops' #end if
+##        #if str($options.stressor.vfork_max) != ''# --vfork-max '$options.stressor.vfork_max' #end if
+##        #if str($options.stressor.vforkmany) != ''# --vforkmany '$options.stressor.vforkmany' #end if
+##        #if str($options.stressor.vforkmany_ops) != ''# --vforkmany-ops '$options.stressor.vforkmany_ops' #end if
+        #if str($options.stressor.vm) != ''# --vm '$options.stressor.vm' #end if
+        #if str($options.stressor.vm_bytes) != ''# --vm-bytes '$options.stressor.vm_bytes' #end if
+##        #if str($options.stressor.vm_hang) != ''# --vm-hang '$options.stressor.vm_hang' #end if
+##        #if str($options.stressor.vm_ops) != ''# --vm-ops '$options.stressor.vm_ops' #end if
+##        #if str($options.stressor.vm_madvise) != ''# --vm-madvise '$options.stressor.vm_madvise' #end if
+##        #if str($options.stressor.vm_method) != 'None'# --vm-method '$options.stressor.vm_method' #end if
+##        #if str($options.stressor.vm_addr) != ''# --vm-addr '$options.stressor.vm_addr' #end if
+##        #if str($options.stressor.vm_addr_ops) != ''# --vm-addr-ops '$options.stressor.vm_addr_ops' #end if
+##        #if str($options.stressor.vm_rw) != ''# --vm-rw '$options.stressor.vm_rw' #end if
+##        #if str($options.stressor.vm_rw_bytes) != ''# --vm-rw-bytes '$options.stressor.vm_rw_bytes' #end if
+##        #if str($options.stressor.vm_rw_ops) != ''# --vm-rw-ops '$options.stressor.vm_rw_ops' #end if
+##        #if str($options.stressor.vm_segv) != ''# --vm-segv '$options.stressor.vm_segv' #end if
+##        #if str($options.stressor.vm_segv_ops) != ''# --vm-segv-ops '$options.stressor.vm_segv_ops' #end if
+##        #if str($options.stressor.vm_splice) != ''# --vm-splice '$options.stressor.vm_splice' #end if
+##        #if str($options.stressor.vm_splice_ops) != ''# --vm-splice-ops '$options.stressor.vm_splice_ops' #end if
+##        #if str($options.stressor.vm_splice_bytes) != ''# --vm-splice-bytes '$options.stressor.vm_splice_bytes' #end if
+##        #if str($options.stressor.wait) != ''# --wait '$options.stressor.wait' #end if
+##        #if str($options.stressor.wait_ops) != ''# --wait-ops '$options.stressor.wait_ops' #end if
+##        #if str($options.stressor.watchdog) != ''# --watchdog '$options.stressor.watchdog' #end if
+##        #if str($options.stressor.watchdog_ops) != ''# --watchdog-ops '$options.stressor.watchdog_ops' #end if
+##        #if str($options.stressor.wcs) != ''# --wcs '$options.stressor.wcs' #end if
+##        #if str($options.stressor.wcs_method) != ''# --wcs-method '$options.stressor.wcs_method' #end if
+##        #if str($options.stressor.wcs_ops) != ''# --wcs-ops '$options.stressor.wcs_ops' #end if
+##        #if str($options.stressor.x86syscall) != ''# --x86syscall '$options.stressor.x86syscall' #end if
+##        #if str($options.stressor.x86syscall-ops) != ''# --x86syscall-ops '$options.stressor.x86syscall-ops' #end if
+##        #if str($options.stressor.x86syscall-func) != ''# --x86syscall-func '$options.stressor.x86syscall-func' #end if
+##        #if str($options.stressor.xattr) != ''# --xattr '$options.stressor.xattr' #end if
+##        #if str($options.stressor.xattr_ops) != ''# --xattr-ops '$options.stressor.xattr_ops' #end if
+##        #if str($options.stressor.yield) != ''# --yield '$options.stressor.yield' #end if
+##        #if str($options.stressor.yield_ops) != ''# --yield-ops '$options.stressor.yield_ops' #end if
+##        #if str($options.stressor.zero) != ''# --zero '$options.stressor.zero' #end if
+##        #if str($options.stressor.zero_ops) != ''# --zero-ops '$options.stressor.zero_ops' #end if
+##        #if str($options.stressor.zlib) != ''# --zlib '$options.stressor.zlib' #end if
+##        #if str($options.stressor.zlib_level) != ''# --zlib-level '$options.stressor.zlib_level' #end if
+##        #if str($options.stressor.zlib_mem_level) != ''# --zlib-mem-level '$options.stressor.zlib_mem_level' #end if
+##        #if str($options.stressor.zlib_method) != ''# --zlib-method '$options.stressor.zlib_method' #end if
+##        #if str($options.stressor.zlib_ops) != ''# --zlib-ops '$options.stressor.zlib_ops' #end if
+##        #if str($options.stressor.zlib_strategy) != 'None'# --zlib-strategy '$options.stressor.zlib_strategy' #end if
+##        #if str($options.stressor.zlib_stream_bytes) != ''# --zlib-stream-bytes '$options.stressor.zlib_stream_bytes' #end if
+##        #if str($options.stressor.zombie) != ''# --zombie '$options.stressor.zombie' #end if
+##        #if str($options.stressor.zombie_ops) != ''# --zombie-ops '$options.stressor.zombie_ops' #end if
+##        #if str($options.stressor.zombie_max) != ''# --zombie-max '$options.stressor.zombie_max' #end if
+##
+##        ## all booleans
+##        '$options.general.abort'
+        '$options.general.aggressive'
+##        '$options.general.dry_run'
+##        '$options.general.ignite_cpu'
+##        '$options.general.keep_name'
+##        '$options.general.log_brief'
+        '$options.general.maximize'
+##        '$options.general.max_fd'
+        '$options.general.metrics'
+        '$options.general.metrics_brief'
+##        '$options.general.minimize'
+##        '$options.general.no_madvise'
+##        '$options.general.no_rand_seed'
+##        '$options.general.page_in'
+##        '$options.general.pathological'
+##        '$options.general.perf'
+##        '$options.general.quiet'
+##        '$options.general.sched_reclaim'
+##        '$options.general.stressors'
+##        '$options.general.syslog'
+##        '$options.general.thrash'
+##        '$options.general.timer_slack'
+        '$options.general.times'
+##        '$options.general.timestamp'
+##        '$options.general.tz'
+##        '$options.general.verbose'
+##        '$options.general.verify'
+##        '$options.general.version'
+##        '$options.stressor.af_alg_dump'
+##        '$options.stressor.affinity_rand'
+##        '$options.stressor.apparmor'
+##        '$options.stressor.atomic'
+##        '$options.stressor.atomic_ops'
+##        '$options.stressor.bad_ioctl_ops'
+##        '$options.stressor.brk_mlock'
+##        '$options.stressor.brk_notouch'
+##        '$options.stressor.cache_prefetch'
+##        '$options.stressor.cache_flush'
+##        '$options.stressor.cache_fence'
+##        '$options.stressor.eventfs_nonblock'
+##        '$options.stressor.itimer_rand'
+##        '$options.stressor.lockf_nonblock'
+##        '$options.stressor.matrix_yx'
+##        '$options.stressor.matrix_3d-zyx'
+##        '$options.stressor.mincore_random'
+##        '$options.stressor.mmap_async'
+##        '$options.stressor.mmap_file'
+##        '$options.stressor.mmap_mprotect'
+##        '$options.stressor.mmap_osync'
+##        '$options.stressor.mmap_odirect'
+##        '$options.stressor.mremap_lock'
+##        '$options.stressor.open_fd'
+##        '$options.stressor.pipeherd_yield'
+##        '$options.stressor.seek_punch'
+##        '$options.stressor.sock_nodelay'
+##        '$options.stressor.stack_fill'
+##        '$options.stressor.stack_mlock'
+##        '$options.stressor.stream_index'
+##        '$options.stressor.timer_rand'
+##        '$options.stressor.timerfd_rand'
+##        '$options.stressor.tlb_shootdown_ops'
+##        '$options.stressor.tmpfs_mmap_async'
+##        '$options.stressor.tmpfs_mmap_file'
+##        '$options.stressor.tun_tap'
+##        '$options.stressor.udp_lite'
+##        '$options.stressor.utime_fsync'
+##        '$options.stressor.vm_keep'
+##        '$options.stressor.vm_locked'
+##        '$options.stressor.vm_populate'
+    #end if
+
+    2>&1 | tee "$outfile"
+
+    ]]>
+    </command>
+    <inputs>
+        <conditional name="options">
+            <param name="do" type="select" label="Options" >
+                <option selected="true" value="common">Common Options</option>
+                <option value="all">All Options</option>
+            </param>
+            <when value="common">
+                <param argument="--cpu" type="integer" min="0" optional="true"
+                       label="cpu N" help="start N workers spinning on sqrt(rand())" />
+                <param argument="--cpu-load" type="integer" min="0" optional="true"
+                       label="cpu load P" help="load CPU by P %, 0=sleep, 100=full load (see -c)" />
+                <param argument="--hdd" type="integer" min="0" optional="true"
+                       label="hdd N" help="start N workers spinning on write()/unlink()" />
+                <param argument="--io" type="integer" min="0" optional="true"
+                       label="io N" help="start N workers spinning on sync()" />
+                <param argument="--memfd-bytes" type="integer" min="0" optional="true"
+                       label="memfd bytes N" help="allocate N bytes for each stress iteration" />
+                <param argument="--metrics" type="boolean"
+                       truevalue="--metrics" falsevalue="" checked="false"
+                       label="metrics" help="print pseudo metrics of activity" />
+                <param argument="--random" type="integer" min="0" optional="true"
+                       label="random N" help="start N random workers" />
+                <!-- default value of 10 seconds -->
+                <param argument="--timeout" type="text" value="10s"
+                       label="timeout T" help="timeout after T seconds" >
+                    <expand macro="sanitize_time" />
+                </param>
+            </when>
+            <when value="all" >
+                <section name="general" title="General Control Options" expanded="false" >
+                <!--     <param argument="-\-abort" type="boolean" -->
+                <!--            truevalue="-\-abort" falsevalue="" checked="false" -->
+                <!--            label="abort" help="abort all stressors if any stressor fails" /> -->
+                    <param argument="--aggressive" type="boolean"
+                           truevalue="--aggressive" falsevalue="" checked="false"
+                           label="aggressive" help="enable all aggressive options" />
+                    <param argument="--all" type="integer" min="-1" optional="true"
+                           label="all" help="start N workers of each stress test" />
+                <!--     <param argument="-\-backoff" type="integer" optional="true" -->
+                <!--            label="backoff" help="wait of N microseconds before work starts" /> -->
+                    <param argument="--class" type="text" optional="true"
+                           label="class name" help="specify a class of stressors, use with --sequential" >
+                        <expand macro="sanitize_function" />
+                    </param>
+                <!--     <param argument="-\-dry-run" type="boolean" -->
+                <!--            truevalue="-\-dry-run" falsevalue="" checked="false" -->
+                <!--            label="dry-run" help="do not run" /> -->
+                <!--     <param argument="-\-ignite-cpu" type="boolean" -->
+                <!--            truevalue="-\-ignite-cpu" falsevalue="" checked="false" -->
+                <!--            label="ignite cpu" help="alter kernel controls to make CPU run hot" /> -->
+                <!--     <param argument="-\-ionice-class" type="select" optional="true" -->
+                <!--            label="ionice class C" help="specify ionice class (idle, besteffort, realtime)" > -->
+                <!--         <option value="idle" /> -->
+                <!--         <option value="besteffort" /> -->
+                <!--         <option value="realtime" /> -->
+                <!--     </param> -->
+                <!--     <param argument="-\-ionice-level" type="integer" min="0" max="7" optional="true" -->
+                <!--            label="ionice level L" help="specify ionice level (0 max, 7 min)" /> -->
+                <!--     <param argument="-\-job" type="data" format="text" -->
+                <!--            label="job file" help="run the named jobfile" /> -->
+                <!--     <param argument="-\-keep-name" type="boolean" -->
+                <!--            truevalue="-\-keep-name" falsevalue="" checked="false" -->
+                <!--            label="keep name" help="keep stress worker names to be 'stress-ng'" /> -->
+                <!--     <param argument="-\-log-brief" type="boolean" -->
+                <!--            truevalue="-\-log-brief" falsevalue="" checked="false" -->
+                <!--            label="log brief" help="less verbose log messages" /> -->
+                <!--     <param argument="-\-log-file" type="data" format="data" -->
+                <!--            label="log file" help="messages to a log file" /> -->
+                    <param argument="--maximize" type="boolean"
+                           truevalue="--maximize" falsevalue="" checked="false"
+                           label="maximize" help="enable maximum stress options" />
+                <!--     <param argument="-\-max-fd" type="boolean" -->
+                <!--            truevalue="-\-max-fd" falsevalue="" checked="false" -->
+                <!--            label="max fd" help="set maximum file descriptor limit" /> -->
+                    <param argument="--metrics" type="boolean"
+                           truevalue="--metrics" falsevalue="" checked="false"
+                           label="metrics" help="print pseudo metrics of activity" />
+                    <param argument="--metrics-brief" type="boolean"
+                           truevalue="--metrics-brief" falsevalue="" checked="false"
+                           label="metrics brief" help="enable metrics and only show non-zero results" />
+                <!--     <param argument="-\-minimize" type="boolean" -->
+                <!--            truevalue="-\-minimize" falsevalue="" checked="false" -->
+                <!--            label="minimize" help="enable minimal stress options" /> -->
+                <!--     <param argument="-\-no-madvise" type="boolean" -->
+                <!--            truevalue="-\-no-madvise" falsevalue="" checked="false" -->
+                <!--            label="no madvise" help="don't use random madvise options for each mmap" /> -->
+                <!--     <param argument="-\-no-rand-seed" type="boolean" -->
+                <!--            truevalue="-\-no-rand-seed" falsevalue="" checked="false" -->
+                <!--            label="no rand seed" help="seed random numbers with the same constant" /> -->
+                <!--     <param argument="-\-page-in" type="boolean" -->
+                <!--            truevalue="-\-page-in" falsevalue="" checked="false" -->
+                <!--            label="page in" help="touch allocated pages that are not in core" /> -->
+                <!--     <!-\- <param argument="-\\-parallel N" type="" -\-> -->
+                <!--     <!-\-        label="parallel N" help="synonym for 'all N'" /> -\-> -->
+                <!--     <param argument="-\-pathological" type="boolean" -->
+                <!--            truevalue="-\-pathological" falsevalue="" checked="false" -->
+                <!--            label="pathological" help="enable stressors that are known to hang a machine" /> -->
+                <!--     <param argument="-\-perf" type="boolean" -->
+                <!--            truevalue="-\-perf" falsevalue="" checked="false" -->
+                <!--            label="perf" help="display perf statistics" /> -->
+                <!--     <param argument="-\-quiet" type="boolean" -->
+                <!--            truevalue="-\-quiet" falsevalue="" checked="false" -->
+                <!--            label="quiet" help="quiet output" /> -->
+                    <param argument="--random" type="integer" min="0" optional="true"
+                           label="random N" help="start N random workers" />
+                <!--     <param argument="-\-sched" type="text" optional="true" -->
+                <!--            label="sched type" help="set scheduler type" > -->
+                <!--         <expand macro="sanitize_function" /> -->
+                <!--     </param> -->
+                <!--     <param argument="-\-sched-prio" type="integer" optional="true" -->
+                <!--            label="sched prio N" help="set scheduler priority level N" /> -->
+                <!--     <param argument="-\-sched-period" type="integer" min="0" optional="true" -->
+                <!--            label="sched period N" help="set period for SCHED_DEADLINE to N nanosecs" /> -->
+                <!--     <param argument="-\-sched-runtime" type="integer" min="0" optional="true" -->
+                <!--            label="sched runtime N" help="set runtime for SCHED_DEADLINE to N nanosecs" /> -->
+                <!--     <param argument="-\-sched-deadline" type="integer" min="0" optional="true" -->
+                <!--            label="sched deadline N" help="set deadline for SCHED_DEADLINE to N nanosecs" /> -->
+                <!--     <param argument="-\-sched-reclaim" type="boolean" -->
+                <!--            truevalue="-\-sched-reclaim" falsevalue="" checked="false" -->
+                <!--            label="sched reclaim" help="set reclaim cpu bandwidth for deadline scheduler" /> -->
+                    <param argument="--sequential" type="integer" min="0" optional="true"
+                           label="sequential N" help="run all stressors one by one, invoking N of them" />
+                <!--     <param argument="-\-stressors" type="boolean" -->
+                <!--            truevalue="-\-stressors" falsevalue="" checked="false" -->
+                <!--            label="stressors" help="show available stress tests" /> -->
+                <!--     <param argument="-\-syslog" type="boolean" -->
+                <!--            truevalue="-\-syslog" falsevalue="" checked="false" -->
+                <!--            label="syslog" help="log messages to the syslog" /> -->
+                    <param argument="--taskset" type="text" optional="true"
+                           label="taskset" help="use specific CPUs (set CPU affinity)" >
+                        <sanitizer>
+                            <valid initial="string.digits" >
+                                <add value="," /><add value="-" />
+                            </valid>
+                        </sanitizer>
+                    </param>
+                <!--     <!-\- <param argument="-\\-temp-path path" type="" -\-> -->
+                <!--     <!-\-        label="temp path path" help="specify path for temporary directories and files" /> -\-> -->
+                <!--     <param argument="-\-thrash" type="boolean" -->
+                <!--            truevalue="-\-thrash" falsevalue="" checked="false" -->
+                <!--            label="thrash" help="force all pages in causing swap thrashing" /> -->
+                    <param argument="--timeout" type="text" value="10s"
+                           label="timeout T" help="timeout after T seconds" >
+                        <expand macro="sanitize_time" />
+                    </param>
+                <!--     <param argument="-\-timer-slack" type="boolean" -->
+                <!--            truevalue="-\-timer-slack" falsevalue="" checked="false" -->
+                <!--            label="timer slack" help="enable timer slack mode" /> -->
+                    <param argument="--times" type="boolean"
+                           truevalue="--times" falsevalue="" checked="false"
+                           label="times" help="show run time summary at end of the run" />
+                <!--     <param argument="-\-timestamp" type="boolean" -->
+                <!--            truevalue="-\-timestamp" falsevalue="" checked="false" -->
+                <!--            label="timestamp" help="timestamp log output " /> -->
+                <!--     <param argument="-\-tz" type="boolean" -->
+                <!--            truevalue="-\-tz" falsevalue="" checked="false" -->
+                <!--            label="tz" help="collect temperatures from thermal zones (Linux only)" /> -->
+                <!--     <param argument="-\-verbose" type="boolean" -->
+                <!--            truevalue="-\-verbose" falsevalue="" checked="false" -->
+                <!--            label="verbose" help="verbose output" /> -->
+                <!--     <param argument="-\-verify" type="boolean" -->
+                <!--            truevalue="-\-verify" falsevalue="" checked="false" -->
+                <!--            label="verify" help="verify results (not available on all tests)" /> -->
+                <!--     <param argument="-\-version" type="boolean" -->
+                <!--            truevalue="-\-version" falsevalue="" checked="false" -->
+                <!--            label="version" help="show version" /> -->
+                <!--     <!-\- <param argument="-\\-yaml file" type="" -\-> -->
+                <!--     <!-\-        label="yaml file" help="output results to YAML formatted filed" /> -\-> -->
+                    <param argument="--exclude" type="text" value=""
+                           label="exclude" help="list of stressors to exclude (not run)" >
+                        <expand macro="sanitize_options" />
+                    </param>
+                </section>
+
+                <section name="stressor" title="Stressor Specific Options" expanded="false" >
+                <!--     <param argument="-\-access" type="integer" min="0" optional="true" -->
+                <!--            label="access N" help="start N workers that stress file access permissions" /> -->
+                <!--     <param argument="-\-access-ops" type="integer" min="0" optional="true" -->
+                <!--            label="access ops N" help="stop after N file access bogo operations" /> -->
+                <!--     <param argument="-\-af-alg" type="integer" min="0" optional="true" -->
+                <!--            label="af alg N" help="start N workers that stress AF_ALG socket domain" /> -->
+                <!--     <param argument="-\-af-alg-ops" type="integer" min="0" optional="true" -->
+                <!--            label="af alg ops N" help="stop after N af-alg bogo operations" /> -->
+                <!--     <param argument="-\-af-alg-dump" type="boolean" -->
+                <!--            truevalue="-\-af-alg-dump" falsevalue="" checked="false" -->
+                <!--            label="af alg dump" help="dump internal list from /proc/crypto to stdout" /> -->
+                <!--     <param argument="-\-affinity" type="integer" min="0" optional="true" -->
+                <!--            label="affinity N" help="start N workers that rapidly change CPU affinity" /> -->
+                <!--     <param argument="-\-affinity-ops" type="integer" min="0" optional="true" -->
+                <!--            label="affinity ops N" help="stop after N affinity bogo operations" /> -->
+                <!--     <param argument="-\-affinity-rand" type="boolean" -->
+                <!--            truevalue="-\-affinity-rand" falsevalue="" checked="false" -->
+                <!--            label="affinity rand" help="change affinity randomly rather than sequentially" /> -->
+                <!--     <param argument="-\-aio" type="integer" min="0" optional="true" -->
+                <!--            label="aio N" help="start N workers that issue async I/O requests" /> -->
+                <!--     <param argument="-\-aio-ops" type="integer" min="0" optional="true" -->
+                <!--            label="aio ops N" help="stop after N bogo async I/O requests" /> -->
+                <!--     <param argument="-\-aio-requests" type="integer" min="0" optional="true" -->
+                <!--            label="aio requests N" help="number of async I/O requests per worker" /> -->
+                <!--     <param argument="-\-aiol" type="integer" min="0" optional="true" -->
+                <!--            label="aiol N" help="start N workers that exercise Linux async I/O" /> -->
+                <!--     <param argument="-\-aiol-ops" type="integer" min="0" optional="true" -->
+                <!--            label="aiol ops N" help="stop after N bogo Linux aio async I/O requests" /> -->
+                <!--     <param argument="-\-aiol-requests" type="integer" min="0" optional="true" -->
+                <!--            label="aiol requests N" help="number of Linux aio async I/O requests per worker" /> -->
+                <!--     <param argument="-\-apparmor" type="boolean" -->
+                <!--            truevalue="-\-apparmor" falsevalue="" checked="false" -->
+                <!--            label="apparmor" help="start N workers exercising AppArmor interfaces" /> -->
+                <!--     <param argument="-\-apparmor-ops" type="integer" min="0" optional="true" -->
+                <!--            label="apparmor ops N" help="stop after N bogo AppArmor worker bogo operations" /> -->
+                <!--     <param argument="-\-atomic" type="boolean" -->
+                <!--            truevalue="-\-atomic" falsevalue="" checked="false" -->
+                <!--            label="atomic" help="start N workers exercising GCC atomic operations" /> -->
+                <!--     <param argument="-\-atomic-ops" type="boolean" -->
+                <!--            truevalue="-\-atomic-ops" falsevalue="" checked="false" -->
+                <!--            label="atomic ops" help="stop after N bogo atomic bogo operations" /> -->
+                <!--     <param argument="-\-bad-altstack" type="integer" min="0" optional="true" -->
+                <!--            label="bad altstack N" help="start N workers exercising bad signal stacks" /> -->
+                <!--     <param argument="-\-bad-altstack-ops" type="integer" min="0" optional="true" -->
+                <!--            label="bad altstack ops N" help="after N bogo signal stack SIGSEGVs" /> -->
+                <!--     <param argument="-\-bad-ioctl" type="integer" min="0" optional="true" -->
+                <!--            label="bad ioctl N" help="start N stressors that perform illegal read ioctls on devices" /> -->
+                <!--     <param argument="-\-bad-ioctl-ops" type="boolean" -->
+                <!--            truevalue="-\-bad-ioctl-ops" falsevalue="" checked="false" -->
+                <!--            label="bad ioctl ops" help="stop after N bad ioctl bogo operations" /> -->
+                <!--     <param argument="-\-bigheap" type="integer" min="0" optional="true" -->
+                <!--            label="bigheap N" help="start N workers that grow the heap using calloc()" /> -->
+                <!--     <param argument="-\-bigheap-ops" type="integer" min="0" optional="true" -->
+                <!--            label="bigheap ops N" help="stop after N bogo bigheap operations" /> -->
+                <!--     <param argument="-\-bigheap-growth" type="integer" min="0" optional="true" -->
+                <!--            label="bigheap growth N" help="grow heap by N bytes per iteration" /> -->
+                <!--     <param argument="-\-bind-mount" type="integer" min="0" optional="true" -->
+                <!--            label="bind mount N" help="start N workers exercising bind mounts" /> -->
+                <!--     <param argument="-\-bind-mount-ops" type="integer" min="0" optional="true" -->
+                <!--            label="bind mount ops N" help="stop after N bogo bind mount operations" /> -->
+                <!--     <param argument="-\-binderfs" type="integer" min="0" optional="true" -->
+                <!--            label="binderfs N" help="start N workers exercising binderfs" /> -->
+                <!--     <param argument="-\-binderfs-ops" type="integer" min="0" optional="true" -->
+                <!--            label="binderfs ops N" help="stop after N bogo binderfs operations" /> -->
+                <!--     <param argument="-\-branch" type="integer" min="0" optional="true" -->
+                <!--            label="branch N" help="start N workers that force branch misprediction" /> -->
+                <!--     <param argument="-\-branch-ops" type="integer" min="0" optional="true" -->
+                <!--            label="branch ops N" help="stop after N branch misprediction branches" /> -->
+                <!--     <param argument="-\-brk" type="integer" min="0" optional="true" -->
+                <!--            label="brk N" help="start N workers performing rapid brk calls" /> -->
+                <!--     <param argument="-\-brk-ops" type="integer" min="0" optional="true" -->
+                <!--            label="brk ops N" help="stop after N brk bogo operations" /> -->
+                <!--     <param argument="-\-brk-mlock" type="boolean" -->
+                <!--            truevalue="-\-brk-mlock" falsevalue="" checked="false" -->
+                <!--            label="brk mlock" help="attempt to mlock newly mapped brk pages" /> -->
+                <!--     <param argument="-\-brk-notouch" type="boolean" -->
+                <!--            truevalue="-\-brk-notouch" falsevalue="" checked="false" -->
+                <!--            label="brk notouch" help="don't touch (page in) new data segment page" /> -->
+                <!--     <param argument="-\-bsearch" type="integer" min="0" optional="true" -->
+                <!--            label="bsearch N" help="start N workers that exercise a binary search" /> -->
+                <!--     <param argument="-\-bsearch-ops" type="integer" min="0" optional="true" -->
+                <!--            label="bsearch ops N" help="stop after N binary search bogo operations" /> -->
+                <!--     <param argument="-\-bsearch-size" type="integer" min="0" optional="true" -->
+                <!--            label="bsearch size N" help="number of 32 bit integers to bsearch" /> -->
+                <!--     <param argument="-\-cache" type="integer" min="0" optional="true" -->
+                <!--            label="cache N" help="start N CPU cache thrashing workers" /> -->
+                <!--     <param argument="-\-cache-ops" type="integer" min="0" optional="true" -->
+                <!--            label="cache ops N" help="stop after N cache bogo operations" /> -->
+                <!--     <param argument="-\-cache-prefetch" type="boolean" -->
+                <!--            truevalue="-\-cache-prefetch" falsevalue="" checked="false" -->
+                <!--            label="cache prefetch" help="prefetch on memory reads/writes" /> -->
+                <!--     <param argument="-\-cache-flush" type="boolean" -->
+                <!--            truevalue="-\-cache-flush" falsevalue="" checked="false" -->
+                <!--            label="cache flush" help="flush cache after every memory write (x86 only)" /> -->
+                <!--     <param argument="-\-cache-fence" type="boolean" -->
+                <!--            truevalue="-\-cache-fence" falsevalue="" checked="false" -->
+                <!--            label="cache fence" help="serialize stores" /> -->
+                <!--     <param argument="-\-cache-level" type="integer" min="0" optional="true" -->
+                <!--            label="cache level N" help="only exercise specified cache" /> -->
+                <!--     <param argument="-\-cache-ways" type="integer" min="0" optional="true" -->
+                <!--            label="cache ways N" help="only fill specified number of cache ways" /> -->
+                <!--     <param argument="-\-cap" type="integer" min="0" optional="true" -->
+                <!--            label="cap N" help="start N workers exercising capget" /> -->
+                <!--     <param argument="-\-cap-ops" type="integer" min="0" optional="true" -->
+                <!--            label="cap ops N" help="stop cap workers after N bogo capget operations" /> -->
+                <!--     <param argument="-\-chattr" type="integer" min="0" optional="true" -->
+                <!--            label="chattr N" help="start N workers thrashing chattr file mode bits " /> -->
+                <!--     <param argument="-\-chattr-ops" type="integer" min="0" optional="true" -->
+                <!--            label="chattr ops N" help="stop chattr workers after N bogo operations" /> -->
+                <!--     <param argument="-\-chdir" type="integer" min="0" optional="true" -->
+                <!--            label="chdir N" help="start N workers thrashing chdir on many paths" /> -->
+                <!--     <param argument="-\-chdir-ops" type="integer" min="0" optional="true" -->
+                <!--            label="chdir ops N" help="stop chdir workers after N bogo chdir operations" /> -->
+                <!--     <param argument="-\-chdir-dirs" type="integer" min="0" optional="true" -->
+                <!--            label="chdir dirs N" help="select number of directories to exercise chdir on" /> -->
+                <!--     <param argument="-\-chmod" type="integer" min="0" optional="true" -->
+                <!--            label="chmod N" help="start N workers thrashing chmod file mode bits " /> -->
+                <!--     <param argument="-\-chmod-ops" type="integer" min="0" optional="true" -->
+                <!--            label="chmod ops N" help="stop chmod workers after N bogo operations" /> -->
+                <!--     <param argument="-\-chown" type="integer" min="0" optional="true" -->
+                <!--            label="chown N" help="start N workers thrashing chown file ownership" /> -->
+                <!--     <param argument="-\-chown-ops" type="integer" min="0" optional="true" -->
+                <!--            label="chown ops N" help="stop chown workers after N bogo operations" /> -->
+                <!--     <param argument="-\-chroot" type="integer" min="0" optional="true" -->
+                <!--            label="chroot N" help="start N workers thrashing chroot" /> -->
+                <!--     <param argument="-\-chroot-ops" type="integer" min="0" optional="true" -->
+                <!--            label="chroot ops N" help="stop chhroot workers after N bogo operations" /> -->
+                <!--     <param argument="-\-clock" type="integer" min="0" optional="true" -->
+                <!--            label="clock N" help="start N workers thrashing clocks and POSIX timers" /> -->
+                <!--     <param argument="-\-clock-ops" type="integer" min="0" optional="true" -->
+                <!--            label="clock ops N" help="stop clock workers after N bogo operations" /> -->
+                <!--     <param argument="-\-clone" type="integer" min="0" optional="true" -->
+                <!--            label="clone N" help="start N workers that rapidly create and reap clones" /> -->
+                <!--     <param argument="-\-clone-ops" type="integer" min="0" optional="true" -->
+                <!--            label="clone ops N" help="stop after N bogo clone operations" /> -->
+                <!--     <param argument="-\-clone-max" type="integer" min="0" optional="true" -->
+                <!--            label="clone max N" help="set upper limit of N clones per worker" /> -->
+                <!--     <param argument="-\-close" type="integer" min="0" optional="true" -->
+                <!--            label="close N" help="start N workers that exercise races on close" /> -->
+                <!--     <param argument="-\-close-ops" type="integer" min="0" optional="true" -->
+                <!--            label="close ops N" help="stop after N bogo close operations" /> -->
+                <!--     <param argument="-\-context" type="integer" min="0" optional="true" -->
+                <!--            label="context N" help="start N workers exercising user context" /> -->
+                <!--     <param argument="-\-context-ops" type="integer" min="0" optional="true" -->
+                <!--            label="context ops N" help="stop context workers after N bogo operations" /> -->
+                <!--     <param argument="-\-copy-file" type="integer" min="0" optional="true" -->
+                <!--            label="copy file N" help="start N workers that copy file data" /> -->
+                <!--     <param argument="-\-copy-file-ops" type="integer" min="0" optional="true" -->
+                <!--            label="copy file ops N" help="stop after N copy bogo operations" /> -->
+                <!--     <param argument="-\-copy-file-bytes" type="integer" min="0" optional="true" -->
+                <!--            label="copy file bytes N" help="size of file to be copied" /> -->
+                    <param argument="--cpu" type="integer" min="0" optional="true"
+                           label="cpu N" help="start N workers spinning on sqrt(rand())" />
+                    <param argument="--cpu-ops" type="integer" min="0" optional="true"
+                           label="cpu ops N" help="stop after N cpu bogo operations" />
+                    <param argument="--cpu-load" type="integer" min="0" optional="true"
+                           label="cpu load P" help="load CPU by P %, 0=sleep, 100=full load (see -c)" />
+                    <!-- <param argument="-\-cpu-load-slice" type="integer" min="1" optional="true" -->
+                    <!--        label="cpu load slice S" help="specify time slice during busy load" /> -->
+                    <param argument="--cpu-method" type="select" optional="true"
+                           label="cpu method M" help="specify stress cpu method M, default is all" >
+                        <expand macro="default_method_all" />
+                        <option value="ackermann" /><option value="apery" /><option value="bitops" /><option value="callfunc" /><option value="cdouble" /><option value="cfloat" /><option value="clongdouble" /><option value="collatz" /><option value="correlate" /><option value="cpuid" /><option value="crc16" /><option value="decimal32" /><option value="decimal64" /><option value="decimal128" /><option value="dither" /><option value="div64" /><option value="djb2a" /><option value="double" /><option value="euler" /><option value="explog" /><option value="factorial" /><option value="fibonacci" /><option value="fft" /><option value="fletcher16" /><option value="float" /><option value="float32" /><option value="float80" /><option value="float128" /><option value="floatconversion" /><option value="fnv1a" /><option value="gamma" /><option value="gcd" /><option value="gray" /><option value="hamming" /><option value="hanoi" /><option value="hyperbolic" /><option value="idct" /><option value="int128" /><option value="int64" /><option value="int32" /><option value="int16" /><option value="int8" /><option value="int128float" /><option value="int128double" /><option value="int128longdouble" /><option value="int128decimal32" /><option value="int128decimal64" /><option value="int128decimal128" /><option value="int64float" /><option value="int64double" /><option value="int64longdouble" /><option value="int32float" /><option value="int32double" /><option value="int32longdouble" /><option value="intconversion" /><option value="ipv4checksum" /><option value="jenkin" /><option value="jmp" /><option value="ln2" /><option value="longdouble" /><option value="loop" /><option value="matrixprod" /><option value="murmur3" /><option value="_32" /><option value="nsqrt" /><option value="omega" /><option value="parity" /><option value="phi" /><option value="pi" /><option value="pjw" /><option value="prime" /><option value="psi" /><option value="queens" /><option value="rand" /><option value="rand48" /><option value="rgb" /><option value="sdbm" /><option value="sieve" /><option value="stats" /><option value="sqrt" /><option value="trig" /><option value="union" /><option value="zeta" />
+                    </param>
+                    <!-- <param argument="-\-cpu-online" type="integer" min="0" optional="true" -->
+                    <!--        label="cpu online N" help="start N workers offlining/onlining the CPUs" /> -->
+                    <!-- <param argument="-\-cpu-online-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="cpu online ops N" help="stop after N offline/online operations" /> -->
+                    <!-- <param argument="-\-crypt" type="integer" min="0" optional="true" -->
+                    <!--        label="crypt N" help="start N workers performing password encryption" /> -->
+                    <!-- <param argument="-\-crypt-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="crypt ops N" help="stop after N bogo crypt operations" /> -->
+                    <param argument="--cyclic" type="integer" min="0" optional="true"
+                           label="cyclic N" help="start N cyclic real time benchmark stressors" />
+                    <!-- <param argument="-\-cyclic-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="cyclic ops N" help="stop after N cyclic timing cycles" /> -->
+                    <param argument="--cyclic-method" type="select" optional="true"
+                           label="cyclic method M" help="specify cyclic method M, default is usleep" >
+                        <option value="usleep" />
+                        <option value="clock_ns" />
+                        <option value="itimer" />
+                        <option value="poll" />
+                        <option value="posix_ns" />
+                        <option value="pselect" />
+                    </param>
+                    <param argument="--cyclic-dist" type="integer" min="0" optional="true"
+                           label="cyclic dist N" help="calculate distribution of interval N nanosecs" />
+                    <!-- <param argument="-\-cyclic-policy" type="integer" min="1" optional="true" -->
+                    <!--        label="cyclic policy P" help="used rr or fifo scheduling policy" /> -->
+                    <param argument="--cyclic-prio" type="integer" min="1" optional="true"
+                           label="cyclic prio N" help="real time scheduling priority 1 to 100" />
+                    <param argument="--cyclic-sleep" type="integer" min="0" optional="true"
+                           label="cyclic sleep N" help="sleep time of real time timer in nanosecs" />
+                    <!-- <param argument="-\-daemon" type="integer" min="0" optional="true" -->
+                    <!--        label="daemon N" help="start N workers creating multiple daemons" /> -->
+                    <!-- <param argument="-\-daemon-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="daemon ops N" help="stop when N daemons have been created" /> -->
+                    <!-- <param argument="-\-dccp" type="integer" min="0" optional="true" -->
+                    <!--        label="dccp N" help="start N workers exercising network DCCP I/O" /> -->
+                    <!-- <param argument="-\-dccp-domain" type="select" optional="true" -->
+                    <!--        label="dccp domain D" help="specify DCCP domain, default is ipv4"> -->
+                    <!--     <expand macro="default_ipv4" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-dccp-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dccp ops N" help="stop after N DCCP  bogo operations" /> -->
+                    <!-- <param argument="-\-dccp-opts" type="select" optional="true" -->
+                    <!--        label="dccp opts option" help="DCCP data send options [send|sendmsg|sendmmsg]" > -->
+                    <!--     <option value="send" /> -->
+                    <!--     <option value="sendmsg" /> -->
+                    <!--     <option value="sendmmsg" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-dccp-port" type="integer" min="1" optional="true" -->
+                    <!--        label="dccp port P" help="use DCCP ports P to P + number of workers - 1" /> -->
+                    <!-- <param argument="-\-dentry" type="integer" min="0" optional="true" -->
+                    <!--        label="dentry N" help="start N dentry thrashing stressors" /> -->
+                    <!-- <param argument="-\-dentry-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dentry ops N" help="stop after N dentry bogo operations" /> -->
+                    <!-- <param argument="-\-dentry-order" type="select" optional="true" -->
+                    <!--        label="dentry order O" help="specify unlink order (reverse, forward, stride)" > -->
+                    <!--     <option value="reverse" /> -->
+                    <!--     <option value="forward" /> -->
+                    <!--     <option value="stride" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-dentries" type="integer" min="0" optional="true" -->
+                    <!--        label="dentries N" help="create N dentries per iteration" /> -->
+                    <!-- <param argument="-\-dev" type="integer" min="0" optional="true" -->
+                    <!--        label="dev N" help="start N device entry thrashing stressors" /> -->
+                    <!-- <param argument="-\-dev-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dev ops N" help="stop after N device thrashing bogo ops" /> -->
+                    <!-- <!-\- <param argument="-\\-dev-file name" type="" -\-> -->
+                    <!-- <!-\-        label="dev file name" help="specify the /dev/ file to exercise" /> -\-> -->
+                    <!-- <param argument="-\-dev-shm" type="integer" min="0" optional="true" -->
+                    <!--        label="dev shm N" help="start N /dev/shm file and mmap stressors" /> -->
+                    <!-- <param argument="-\-dev-shm-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dev shm ops N" help="stop after N /dev/shm bogo ops" /> -->
+                    <!-- <param argument="-\-dir" type="integer" min="0" optional="true" -->
+                    <!--        label="dir N" help="start N directory thrashing stressors" /> -->
+                    <!-- <param argument="-\-dir-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dir ops N" help="stop after N directory bogo operations" /> -->
+                    <!-- <param argument="-\-dir-dirs" type="integer" min="0" optional="true" -->
+                    <!--        label="dir dirs N" help="select number of directories to exercise dir on" /> -->
+                    <!-- <param argument="-\-dirdeep" type="integer" min="0" optional="true" -->
+                    <!--        label="dirdeep N" help="start N directory depth stressors" /> -->
+                    <!-- <param argument="-\-dirdeep-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dirdeep ops N" help="stop after N directory depth bogo operations" /> -->
+                    <!-- <param argument="-\-dirdeep-dirs" type="integer" min="0" optional="true" -->
+                    <!--        label="dirdeep dirs N" help="create N directories per level" /> -->
+                    <!-- <param argument="-\-dirdeep-inodes" type="integer" min="0" optional="true" -->
+                    <!--        label="dirdeep inodes N" help="create a maximum N inodes (N can also be %)" /> -->
+                    <!-- <param argument="-\-dnotify" type="integer" min="0" optional="true" -->
+                    <!--        label="dnotify N" help="start N workers exercising dnotify events" /> -->
+                    <!-- <param argument="-\-dnotify-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dnotify ops N" help="stop dnotify workers after N bogo operations" /> -->
+                    <!-- <param argument="-\-dup" type="integer" min="0" optional="true" -->
+                    <!--        label="dup N" help="start N workers exercising dup/close" /> -->
+                    <!-- <param argument="-\-dup-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dup ops N" help="stop after N dup/close bogo operations" /> -->
+                    <!-- <param argument="-\-dynlib" type="integer" min="0" optional="true" -->
+                    <!--        label="dynlib N" help="start N workers exercising dlopen/dlclose" /> -->
+                    <!-- <param argument="-\-dynlib-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="dynlib ops N" help="stop after N dlopen/dlclose bogo operations" /> -->
+                    <!-- <param argument="-\-efivar" type="integer" min="0" optional="true" -->
+                    <!--        label="efivar N" help="start N workers that read EFI variables" /> -->
+                    <!-- <param argument="-\-efivar-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="efivar ops N" help="stop after N EFI variable bogo read operations" /> -->
+                    <!-- <param argument="-\-enosys" type="integer" min="0" optional="true" -->
+                    <!--        label="enosys N" help="start N workers that call non-existent system calls" /> -->
+                    <!-- <param argument="-\-enosys-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="enosys ops N" help="stop after N enosys bogo operations" /> -->
+                    <!-- <param argument="-\-env" type="integer" min="0" optional="true" -->
+                    <!--        label="env N" help="start N workers setting environment vars" /> -->
+                    <!-- <param argument="-\-env-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="env ops N" help="stop after N env bogo operations" /> -->
+                    <!-- <param argument="-\-epoll" type="integer" min="0" optional="true" -->
+                    <!--        label="epoll N" help="start N workers doing epoll handled socket activity" /> -->
+                    <!-- <param argument="-\-epoll-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="epoll ops N" help="stop after N epoll bogo operations" /> -->
+                    <!-- <param argument="-\-epoll-port" type="integer" min="1" optional="true" -->
+                    <!--        label="epoll port P" help="use socket ports P upwards" /> -->
+                    <!-- <param argument="-\-epoll-domain" type="select" optional="true" -->
+                    <!--        label="epoll domain D" help="specify socket domain, default is unix" > -->
+                    <!--     <option value="unix" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-eventfd" type="integer" min="0" optional="true" -->
+                    <!--        label="eventfd N" help="start N workers stressing eventfd read/writes" /> -->
+                    <!-- <param argument="-\-eventfd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="eventfd ops N" help="stop eventfd workers after N bogo operations" /> -->
+                    <!-- <param argument="-\-eventfs-nonblock" type="boolean" -->
+                    <!--        truevalue="-\-eventfs-nonblock" falsevalue="" checked="false" -->
+                    <!--        label="eventfs nonblock" help="poll with non-blocking I/O on eventfd fd" /> -->
+                    <!-- <param argument="-\-exec" type="integer" min="0" optional="true" -->
+                    <!--        label="exec N" help="start N workers spinning on fork() and exec()" /> -->
+                    <!-- <param argument="-\-exec-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="exec ops N" help="stop after N exec bogo operations" /> -->
+                    <!-- <param argument="-\-exec-max" type="integer" min="1" value="1" optional="true" -->
+                    <!--        label="exec max P" help="create P workers per iteration, default is 1" /> -->
+                    <!-- <param argument="-\-fallocate" type="integer" min="0" optional="true" -->
+                    <!--        label="fallocate N" help="start N workers fallocating 16MB files" /> -->
+                    <!-- <param argument="-\-fallocate-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fallocate ops N" help="stop after N fallocate bogo operations" /> -->
+                    <!-- <param argument="-\-fallocate-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="fallocate bytes N" help="size of file to allocate" /> -->
+                    <!-- <param argument="-\-fanotify" type="integer" min="0" optional="true" -->
+                    <!--        label="fanotify N" help="start N workers exercising fanotify events" /> -->
+                    <!-- <param argument="-\-fanotify-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fanotify ops N" help="stop fanotify workers after N bogo operations" /> -->
+                    <!-- <param argument="-\-fault" type="integer" min="0" optional="true" -->
+                    <!--        label="fault N" help="start N workers producing page faults" /> -->
+                    <!-- <param argument="-\-fault-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fault ops N" help="stop after N page fault bogo operations" /> -->
+                    <!-- <param argument="-\-fcntl" type="integer" min="0" optional="true" -->
+                    <!--        label="fcntl N" help="start N workers exercising fcntl commands" /> -->
+                    <!-- <param argument="-\-fcntl-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fcntl ops N" help="stop after N fcntl bogo operations" /> -->
+                    <!-- <param argument="-\-fiemap" type="integer" min="0" optional="true" -->
+                    <!--        label="fiemap N" help="start N workers exercising the FIEMAP ioctl" /> -->
+                    <!-- <param argument="-\-fiemap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fiemap ops N" help="stop after N FIEMAP ioctl bogo operations" /> -->
+                    <!-- <param argument="-\-fiemap-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="fiemap bytes N" help="specify size of file to fiemap" /> -->
+                    <!-- <param argument="-\-fifo" type="integer" min="0" optional="true" -->
+                    <!--        label="fifo N" help="start N workers exercising fifo I/O" /> -->
+                    <!-- <param argument="-\-fifo-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fifo ops N" help="stop after N fifo bogo operations" /> -->
+                    <!-- <param argument="-\-fifo-readers" type="integer" min="0" optional="true" -->
+                    <!--        label="fifo readers N" help="number of fifo reader stessors to start" /> -->
+                    <!-- <param argument="-\-file-ioctl" type="integer" min="0" optional="true" -->
+                    <!--        label="file ioctl N" help="start N workers exercising file specific ioctls" /> -->
+                    <!-- <param argument="-\-file-ioctl-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="file ioctl ops N" help="stop after N file ioctl bogo operations" /> -->
+                    <!-- <param argument="-\-filename" type="integer" min="0" optional="true" -->
+                    <!--        label="filename N" help="start N workers exercising filenames" /> -->
+                    <!-- <param argument="-\-filename-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="filename ops N" help="stop after N filename bogo operations" /> -->
+                    <!-- <param argument="-\-filename-opts" type="text" optional="true" -->
+                    <!--        label="filename opts opt" help="allowed filename options" > -->
+                    <!--     <expand macro="sanitize_filename" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-flock" type="integer" min="0" optional="true" -->
+                    <!--        label="flock N" help="start N workers locking a single file" /> -->
+                    <!-- <param argument="-\-flock-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="flock ops N" help="stop after N flock bogo operations" /> -->
+                    <param argument="--fork" type="integer" min="0" optional="true"
+                           label="fork N" help="start N workers spinning on fork() and exit()" />
+                    <!-- <param argument="-\-fork-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fork ops N" help="stop after N fork bogo operations" /> -->
+                    <!-- <param argument="-\-fork-max" type="integer" min="1" optional="true" -->
+                    <!--        label="fork max P" help="create P workers per iteration, default is 1" /> -->
+                    <!-- <param argument="-\-fp-error" type="integer" min="0" optional="true" -->
+                    <!--        label="fp error N" help="start N workers exercising floating point errors" /> -->
+                    <!-- <param argument="-\-fp-error-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fp error ops N" help="stop after N fp-error bogo operations" /> -->
+                    <!-- <param argument="-\-fstat" type="integer" min="0" optional="true" -->
+                    <!--        label="fstat N" help="start N workers exercising fstat on files" /> -->
+                    <!-- <param argument="-\-fstat-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="fstat ops N" help="stop after N fstat bogo operations" /> -->
+                    <!-- <param argument="-\-fstat-dir" type="text" optional="true" -->
+                    <!--        label="fstat dir path" help="fstat files in the specified directory" > -->
+                    <!--     <expand macro="sanitize_filename" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-full" type="integer" min="0" optional="true" -->
+                    <!--        label="full N" help="start N workers exercising /dev/full" /> -->
+                    <!-- <param argument="-\-full-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="full ops N" help="stop after N /dev/full bogo I/O operations" /> -->
+                    <!-- <param argument="-\-funccall" type="integer" min="0" optional="true" -->
+                    <!--        label="funccall N" help="start N workers exercising 1 to 9 arg functions" /> -->
+                    <!-- <param argument="-\-funccall-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="funccall ops N" help="stop after N function call bogo operations" /> -->
+                    <!-- <param argument="-\-funccall-method" type="text" optional="true" -->
+                    <!--        label="funccall method M" help="function call method M" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-funcret" type="integer" min="0" optional="true" -->
+                    <!--        label="funcret N" help="start N workers exercising function return copying" /> -->
+                    <!-- <param argument="-\-funcret-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="funcret ops N" help="stop after N function return bogo operations" /> -->
+                    <!-- <param argument="-\-funcret-method" type="text" optional="true" -->
+                    <!--        label="funcret method M" help="select method of exercising a function return type" > -->
+                    <!--     <expand macro="sanitize_filename" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-futex" type="integer" min="0" optional="true" -->
+                    <!--        label="futex N" help="start N workers exercising a fast mutex" /> -->
+                    <!-- <param argument="-\-futex-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="futex ops N" help="stop after N fast mutex bogo operations" /> -->
+                    <!-- <param argument="-\-get" type="integer" min="0" optional="true" -->
+                    <!--        label="get N" help="start N workers exercising the get*() system calls" /> -->
+                    <!-- <param argument="-\-get-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="get ops N" help="stop after N get bogo operations" /> -->
+                    <!-- <param argument="-\-getdent" type="integer" min="0" optional="true" -->
+                    <!--        label="getdent N" help="start N workers reading directories using getdents" /> -->
+                    <!-- <param argument="-\-getdent-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="getdent ops N" help="stop after N getdents bogo operations" /> -->
+                    <!-- <param argument="-\-getrandom" type="integer" min="0" optional="true" -->
+                    <!--        label="getrandom N" help="start N workers fetching random data via getrandom()" /> -->
+                    <!-- <param argument="-\-getrandom-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="getrandom ops N" help="stop after N getrandom bogo operations" /> -->
+                    <!-- <param argument="-\-handle" type="integer" min="0" optional="true" -->
+                    <!--        label="handle N" help="start N workers exercising name_to_handle_at" /> -->
+                    <!-- <param argument="-\-handle-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="handle ops N" help="stop after N handle bogo operations" /> -->
+                    <param argument="--hdd" type="integer" min="0" optional="true"
+                           label="hdd N" help="start N workers spinning on write()/unlink()" />
+                    <!-- <param argument="-\-hdd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="hdd ops N" help="stop after N hdd bogo operations" /> -->
+                    <!-- <param argument="-\-hdd-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="hdd bytes N" help="write N bytes per hdd worker (default is 1GB)" /> -->
+                    <!-- <param argument="-\-hdd-opts" type="text" optional="true" -->
+                    <!--        label="hdd opts list" help="specify list of various stressor options" > -->
+                    <!--     <expand macro="sanitize_options" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-hdd-write-size" type="integer" min="0" optional="true" -->
+                    <!--        label="hdd write size N" help="set the default write size to N bytes" /> -->
+                    <!-- <param argument="-\-heapsort" type="integer" min="0" optional="true" -->
+                    <!--        label="heapsort N" help="start N workers heap sorting 32 bit random integers" /> -->
+                    <!-- <param argument="-\-heapsort-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="heapsort ops N" help="stop after N heap sort bogo operations" /> -->
+                    <!-- <param argument="-\-heapsort-size" type="integer" min="0" optional="true" -->
+                    <!--        label="heapsort size N" help="number of 32 bit integers to sort" /> -->
+                    <!-- <param argument="-\-hrtimers" type="integer" min="0" optional="true" -->
+                    <!--        label="hrtimers N" help="start N workers that exercise high resolution timers" /> -->
+                    <!-- <param argument="-\-hrtimers-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="hrtimers ops N" help="stop after N bogo high-res timer bogo operations" /> -->
+                    <!-- <param argument="-\-hsearch" type="integer" min="0" optional="true" -->
+                    <!--        label="hsearch N" help="start N workers that exercise a hash table search" /> -->
+                    <!-- <param argument="-\-hsearch-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="hsearch ops N" help="stop after N hash search bogo operations" /> -->
+                    <!-- <param argument="-\-hsearch-size" type="integer" min="0" optional="true" -->
+                    <!--        label="hsearch size N" help="number of integers to insert into hash table" /> -->
+                    <!-- <param argument="-\-icache" type="integer" min="0" optional="true" -->
+                    <!--        label="icache N" help="start N CPU instruction cache thrashing workers" /> -->
+                    <!-- <param argument="-\-icache-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="icache ops N" help="stop after N icache bogo operations" /> -->
+                    <!-- <param argument="-\-icmp-flood" type="integer" min="0" optional="true" -->
+                    <!--        label="icmp flood N" help="start N ICMP packet flood workers" /> -->
+                    <!-- <param argument="-\-icmp-flood-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="icmp flood ops N" help="stop after N ICMP bogo operations (ICMP packets)" /> -->
+                    <!-- <param argument="-\-idle-page" type="integer" min="0" optional="true" -->
+                    <!--        label="idle page N" help="start N idle page scanning workers" /> -->
+                    <!-- <param argument="-\-idle-page-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="idle page ops N" help="stop after N idle page scan bogo operations" /> -->
+                    <!-- <param argument="-\-inode-flags" type="integer" min="0" optional="true" -->
+                    <!--        label="inode flags N" help="start N workers exercising various inode flags" /> -->
+                    <!-- <param argument="-\-inode-flags-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="inode flags ops N" help="inode-flags workers after N bogo operations" /> -->
+                    <!-- <param argument="-\-inotify" type="integer" min="0" optional="true" -->
+                    <!--        label="inotify N" help="start N workers exercising inotify events" /> -->
+                    <!-- <param argument="-\-inotify-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="inotify ops N" help="stop inotify workers after N bogo operations" /> -->
+                    <param argument="--io" type="integer" min="0" optional="true"
+                           label="io N" help="start N workers spinning on sync()" />
+                    <!-- <param argument="-\-io-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="io ops N" help="stop sync I/O after N io bogo operations" /> -->
+                    <param argument="--iomix" type="integer" min="0" optional="true"
+                           label="iomix N" help="start N workers that have a mix of I/O operations" />
+                    <param argument="--iomix-bytes" type="text" min="0" optional="true"
+                           label="iomix bytes N" help="write N bytes per iomix worker (default is 1GB)" >
+                        <expand macro="sanitize_filesize" />
+                    </param>
+                    <!-- <param argument="-\-iomix-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="iomix ops N" help="stop iomix workers after N iomix bogo operations" /> -->
+                    <!-- <param argument="-\-ioport" type="integer" min="0" optional="true" -->
+                    <!--        label="ioport N" help="start N workers exercising port I/O" /> -->
+                    <!-- <param argument="-\-ioport-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="ioport ops N" help="stop ioport workers after N port bogo operations" /> -->
+                    <!-- <param argument="-\-ioprio" type="integer" min="0" optional="true" -->
+                    <!--        label="ioprio N" help="start N workers exercising set/get iopriority" /> -->
+                    <!-- <param argument="-\-ioprio-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="ioprio ops N" help="stop after N io bogo iopriority operations" /> -->
+                    <!-- <param argument="-\-io-uring" type="integer" min="0" optional="true" -->
+                    <!--        label="io uring N" help="start N workers that issue io-uring I/O requests" /> -->
+                    <!-- <param argument="-\-io-uring-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="io uring ops N" help="stop after N bogo io-uring I/O requests" /> -->
+                    <!-- <param argument="-\-ipsec-mb" type="integer" min="0" optional="true" -->
+                    <!--        label="ipsec mb N" help="start N workers exercising the IPSec MB encoding" /> -->
+                    <!-- <param argument="-\-ipsec-mb-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="ipsec mb ops N" help="stop after N ipsec bogo encoding operations" /> -->
+                    <!-- <param argument="-\-ipsec-mb-feature" type="text" optional="true" -->
+                    <!--        label="ipsec mb feature F" help="specify CPU feature F" > -->
+                    <!--     <expand macro="sanitize_options" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-itimer" type="integer" min="0" optional="true" -->
+                    <!--        label="itimer N" help="start N workers exercising interval timers" /> -->
+                    <!-- <param argument="-\-itimer-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="itimer ops N" help="stop after N interval timer bogo operations" /> -->
+                    <!-- <param argument="-\-itimer-rand" type="boolean" -->
+                    <!--        truevalue="-\-itimer-rand" falsevalue="" checked="false" -->
+                    <!--        label="itimer rand" help="enable random interval timer frequency" /> -->
+                    <!-- <param argument="-\-judy" type="integer" min="0" optional="true" -->
+                    <!--        label="judy N" help="start N workers that exercise a judy array search" /> -->
+                    <!-- <param argument="-\-judy-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="judy ops N" help="stop after N judy array search bogo operations" /> -->
+                    <!-- <param argument="-\-judy-size" type="integer" min="0" optional="true" -->
+                    <!--        label="judy size N" help="number of 32 bit integers to insert into judy array" /> -->
+                    <!-- <param argument="-\-kcmp" type="integer" min="0" optional="true" -->
+                    <!--        label="kcmp N" help="start N workers exercising kcmp" /> -->
+                    <!-- <param argument="-\-kcmp-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="kcmp ops N" help="stop after N kcmp bogo operations" /> -->
+                    <!-- <param argument="-\-key" type="integer" min="0" optional="true" -->
+                    <!--        label="key N" help="start N workers exercising key operations" /> -->
+                    <!-- <param argument="-\-key-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="key ops N" help="stop after N key bogo operations" /> -->
+                    <!-- <param argument="-\-kill" type="integer" min="0" optional="true" -->
+                    <!--        label="kill N" help="start N workers killing with SIGUSR1" /> -->
+                    <!-- <param argument="-\-kill-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="kill ops N" help="stop after N kill bogo operations" /> -->
+                    <!-- <param argument="-\-klog" type="integer" min="0" optional="true" -->
+                    <!--        label="klog N" help="start N workers exercising kernel syslog interface" /> -->
+                    <!-- <param argument="-\-klog-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="klog ops N" help="stop after N klog bogo operations" /> -->
+                    <!-- <param argument="-\-lease" type="integer" min="0" optional="true" -->
+                    <!--        label="lease N" help="start N workers holding and breaking a lease" /> -->
+                    <!-- <param argument="-\-lease-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="lease ops N" help="stop after N lease bogo operations" /> -->
+                    <!-- <param argument="-\-lease-breakers" type="integer" min="0" optional="true" -->
+                    <!--        label="lease breakers N" help="number of lease breaking workers to start" /> -->
+                    <!-- <param argument="-\-link" type="integer" min="0" optional="true" -->
+                    <!--        label="link N" help="start N workers creating hard links" /> -->
+                    <!-- <param argument="-\-link-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="link ops N" help="stop after N link bogo operations" /> -->
+                    <!-- <param argument="-\-locka" type="integer" min="0" optional="true" -->
+                    <!--        label="locka N" help="start N workers locking a file via advisory locks" /> -->
+                    <!-- <param argument="-\-locka-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="locka ops N" help="stop after N locka bogo operations" /> -->
+                    <!-- <param argument="-\-lockbus" type="integer" min="0" optional="true" -->
+                    <!--        label="lockbus N" help="start N workers locking a memory increment" /> -->
+                    <!-- <param argument="-\-lockbus-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="lockbus ops N" help="stop after N lockbus bogo operations" /> -->
+                    <!-- <param argument="-\-lockf" type="integer" min="0" optional="true" -->
+                    <!--        label="lockf N" help="start N workers locking a single file via lockf" /> -->
+                    <!-- <param argument="-\-lockf-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="lockf ops N" help="stop after N lockf bogo operations" /> -->
+                    <!-- <param argument="-\-lockf-nonblock" type="boolean" -->
+                    <!--        truevalue="-\-lockf-nonblock" falsevalue="" checked="false" -->
+                    <!--        label="lockf nonblock" help="don't block if lock cannot be obtained, re-try" /> -->
+                    <!-- <param argument="-\-lockofd" type="integer" min="0" optional="true" -->
+                    <!--        label="lockofd N" help="start N workers using open file description locking" /> -->
+                    <!-- <param argument="-\-lockofd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="lockofd ops N" help="stop after N lockofd bogo operations" /> -->
+                    <!-- <param argument="-\-longjmp" type="integer" min="0" optional="true" -->
+                    <!--        label="longjmp N" help="start N workers exercising setjmp/longjmp" /> -->
+                    <!-- <param argument="-\-longjmp-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="longjmp ops N" help="stop after N longjmp bogo operations" /> -->
+                    <!-- <param argument="-\-loop" type="integer" min="0" optional="true" -->
+                    <!--        label="loop N" help="start N workers exercising loopback devices" /> -->
+                    <!-- <param argument="-\-loop-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="loop ops N" help="stop after N bogo loopback operations" /> -->
+                    <!-- <param argument="-\-lsearch" type="integer" min="0" optional="true" -->
+                    <!--        label="lsearch N" help="start N workers that exercise a linear search" /> -->
+                    <!-- <param argument="-\-lsearch-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="lsearch ops N" help="stop after N linear search bogo operations" /> -->
+                    <!-- <param argument="-\-lsearch-size" type="integer" min="0" optional="true" -->
+                    <!--        label="lsearch size N" help="number of 32 bit integers to lsearch" /> -->
+                    <!-- <param argument="-\-madvise" type="integer" min="0" optional="true" -->
+                    <!--        label="madvise N" help="start N workers exercising madvise on memory" /> -->
+                    <!-- <param argument="-\-madvise-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="madvise ops N" help="stop after N bogo madvise operations" /> -->
+                    <!-- <param argument="-\-malloc" type="integer" min="0" optional="true" -->
+                    <!--        label="malloc N" help="start N workers exercising malloc/realloc/free" /> -->
+                    <!-- <param argument="-\-malloc-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="malloc bytes N" help="allocate up to N bytes per allocation" /> -->
+                    <!-- <param argument="-\-malloc-max" type="integer" min="0" optional="true" -->
+                    <!--        label="malloc max N" help="keep up to N allocations at a time" /> -->
+                    <!-- <param argument="-\-malloc-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="malloc ops N" help="stop after N malloc bogo operations" /> -->
+                    <!-- <param argument="-\-malloc-thresh" type="integer" min="0" optional="true" -->
+                    <!--        label="malloc thresh N" help="threshold where malloc uses mmap instead of sbrk" /> -->
+                    <!-- <param argument="-\-matrix" type="integer" min="0" optional="true" -->
+                    <!--        label="matrix N" help="start N workers exercising matrix operations" /> -->
+                    <!-- <param argument="-\-matrix-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="matrix ops N" help="stop after N maxtrix bogo operations" /> -->
+                    <!-- <param argument="-\-matrix-method" type="select" optional="true" -->
+                    <!--        label="matrix method M" help="specify matrix stress method M, default is all" > -->
+                    <!--     <expand macro="default_method_all" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-matrix-size" type="integer" min="0" optional="true" -->
+                    <!--        label="matrix size N" help="specify the size of the N x N matrix" /> -->
+                    <!-- <param argument="-\-matrix-yx" type="boolean" -->
+                    <!--        truevalue="-\-matrix-yx" falsevalue="" checked="false" -->
+                    <!--        label="matrix yx" help="matrix operation is y by x instead of x by y" /> -->
+                    <!-- <param argument="-\-matrix-3d" type="integer" min="0" optional="true" -->
+                    <!--        label="matrix 3d N" help="start N workers exercising 3D matrix operations" /> -->
+                    <!-- <param argument="-\-matrix-3d-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="matrix 3d ops N" help="stop after N 3D maxtrix bogo operations" /> -->
+                    <!-- <param argument="-\-matrix-3d-method" type="select" optional="true" -->
+                    <!--        label="matrix 3d method M" help="specify 3D matrix stress method M, default is all" > -->
+                    <!--     <expand macro="default_method_all" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-matrix-3d-size" type="integer" min="0" optional="true" -->
+                    <!--        label="matrix 3d size N" help="specify the size of the N x N x N matrix" /> -->
+                    <!-- <param argument="-\-matrix-3d-zyx" type="boolean" -->
+                    <!--        truevalue="-\-matrix-3d-zyx" falsevalue="" checked="false" -->
+                    <!--        label="matrix 3d zyx" help="matrix operation is z by y by x instead of x by y by z" /> -->
+                    <!-- <param argument="-\-mcontend" type="integer" min="0" optional="true" -->
+                    <!--        label="mcontend N" help="start N workers that produce memory contention" /> -->
+                    <!-- <param argument="-\-mcontend-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mcontend ops N" help="stop memory contention workers after N bogo-ops" /> -->
+                    <!-- <param argument="-\-membarrier" type="integer" min="0" optional="true" -->
+                    <!--        label="membarrier N" help="start N workers performing membarrier system calls" /> -->
+                    <!-- <param argument="-\-membarrier-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="membarrier ops N" help="stop after N membarrier bogo operations" /> -->
+                    <!-- <param argument="-\-memcpy" type="integer" min="0" optional="true" -->
+                    <!--        label="memcpy N" help="start N workers performing memory copies" /> -->
+                    <!-- <param argument="-\-memcpy-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="memcpy ops N" help="stop after N memcpy bogo operations" /> -->
+                    <!-- <param argument="-\-memcpy-method" type="select" optional="true" -->
+                    <!--        label="memcpy method M" help="set memcpy method (M = all, libc, builtin, naive)" > -->
+                    <!--     <option value="all" /> -->
+                    <!--     <option value="libc" /> -->
+                    <!--     <option value="builtin" /> -->
+                    <!--     <option value="naive" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-memfd" type="integer" min="0" optional="true" -->
+                    <!--        label="memfd N" help="start N workers allocating memory with memfd_create" /> -->
+                    <!-- <param argument="-\-memfd-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="memfd bytes N" help="allocate N bytes for each stress iteration" /> -->
+                    <!-- <param argument="-\-memfd-fds" type="integer" min="0" optional="true" -->
+                    <!--        label="memfd fds N" help="number of memory fds to open per stressors" /> -->
+                    <!-- <param argument="-\-memfd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="memfd ops N" help="stop after N memfd bogo operations" /> -->
+                    <!-- <param argument="-\-memhotplug" type="integer" min="0" optional="true" -->
+                    <!--        label="memhotplug N" help="start N workers that exercise memory hotplug" /> -->
+                    <!-- <param argument="-\-memhotplug-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="memhotplug ops N" help="stop after N memory hotplug operations" /> -->
+                    <!-- <param argument="-\-memrate" type="integer" min="0" optional="true" -->
+                    <!--        label="memrate N" help="start N workers exercised memory read/writes" /> -->
+                    <!-- <param argument="-\-memrate-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="memrate ops N" help="stop after N memrate bogo operations" /> -->
+                    <!-- <param argument="-\-memrate-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="memrate bytes N" help="size of memory buffer being exercised" /> -->
+                    <!-- <param argument="-\-memrate-rd-mbs" type="integer" min="0" optional="true" -->
+                    <!--        label="memrate rd mbs N" help="read rate from buffer in megabytes per second" /> -->
+                    <!-- <param argument="-\-memrate-wr-mbs" type="integer" min="0" optional="true" -->
+                    <!--        label="memrate wr mbs N" help="write rate to buffer in megabytes per second" /> -->
+                    <!-- <param argument="-\-memthrash" type="integer" min="0" optional="true" -->
+                    <!--        label="memthrash N" help="start N workers thrashing a 16MB memory buffer" /> -->
+                    <!-- <param argument="-\-memthrash-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="memthrash ops N" help="stop after N memthrash bogo operations" /> -->
+                    <!-- <param argument="-\-memthrash-method" type="select" optional="true" -->
+                    <!--        label="memthrash method M" help="specify memthrash method M, default is all" > -->
+                    <!--     <expand macro="default_method_all" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-mergesort" type="integer" min="0" optional="true" -->
+                    <!--        label="mergesort N" help="start N workers merge sorting 32 bit random integers" /> -->
+                    <!-- <param argument="-\-mergesort-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mergesort ops N" help="stop after N merge sort bogo operations" /> -->
+                    <!-- <param argument="-\-mergesort-size" type="integer" min="0" optional="true" -->
+                    <!--        label="mergesort size N" help="number of 32 bit integers to sort" /> -->
+                    <!-- <param argument="-\-mincore" type="integer" min="0" optional="true" -->
+                    <!--        label="mincore N" help="start N workers exercising mincore" /> -->
+                    <!-- <param argument="-\-mincore-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mincore ops N" help="stop after N mincore bogo operations" /> -->
+                    <!-- <param argument="-\-mincore-random" type="boolean" -->
+                    <!--        truevalue="-\-mincore-random" falsevalue="" checked="false" -->
+                    <!--        label="mincore random" help="randomly select pages rather than linear scan" /> -->
+                    <!-- <param argument="-\-mknod" type="integer" min="0" optional="true" -->
+                    <!--        label="mknod N" help="start N workers that exercise mknod" /> -->
+                    <!-- <param argument="-\-mknod-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mknod ops N" help="stop after N mknod bogo operations" /> -->
+                    <!-- <param argument="-\-mlock" type="integer" min="0" optional="true" -->
+                    <!--        label="mlock N" help="start N workers exercising mlock/munlock" /> -->
+                    <!-- <param argument="-\-mlock-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mlock ops N" help="stop after N mlock bogo operations" /> -->
+                    <!-- <param argument="-\-mlockmany" type="integer" min="0" optional="true" -->
+                    <!--        label="mlockmany N" help="start N workers exercising many mlock/munlock processes" /> -->
+                    <!-- <param argument="-\-mlockmany-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mlockmany ops N" help="stop after N mlockmany bogo operations" /> -->
+                    <!-- <param argument="-\-mmap" type="integer" min="0" optional="true" -->
+                    <!--        label="mmap N" help="start N workers stressing mmap and munmap" /> -->
+                    <!-- <param argument="-\-mmap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mmap ops N" help="stop after N mmap bogo operations" /> -->
+                    <!-- <param argument="-\-mmap-async" type="boolean" -->
+                    <!--        truevalue="-\-mmap-async" falsevalue="" checked="false" -->
+                    <!--        label="mmap async" help="using asynchronous msyncs for file based mmap" /> -->
+                    <!-- <param argument="-\-mmap-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="mmap bytes N" help="mmap and munmap N bytes for each stress iteration" /> -->
+                    <!-- <param argument="-\-mmap-file" type="boolean" -->
+                    <!--        truevalue="-\-mmap-file" falsevalue="" checked="false" -->
+                    <!--        label="mmap file" help="mmap onto a file using synchronous msyncs" /> -->
+                    <!-- <param argument="-\-mmap-mprotect" type="boolean" -->
+                    <!--        truevalue="-\-mmap-mprotect" falsevalue="" checked="false" -->
+                    <!--        label="mmap mprotect" help="enable mmap mprotect stressing" /> -->
+                    <!-- <param argument="-\-mmap-osync" type="boolean" -->
+                    <!--        truevalue="-\-mmap-osync" falsevalue="" checked="false" -->
+                    <!--        label="mmap osync" help="enable O_SYNC on file" /> -->
+                    <!-- <param argument="-\-mmap-odirect" type="boolean" -->
+                    <!--        truevalue="-\-mmap-odirect" falsevalue="" checked="false" -->
+                    <!--        label="mmap odirect" help="enable O_DIRECT on file" /> -->
+                    <!-- <param argument="-\-mmapaddr" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapaddr N" help="start N workers stressing mmap with random addresses" /> -->
+                    <!-- <param argument="-\-mmapaddr-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapaddr ops N" help="stop after N mmapaddr bogo operations" /> -->
+                    <!-- <param argument="-\-mmapfixed" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapfixed N" help="start N workers stressing mmap with fixed mappings" /> -->
+                    <!-- <param argument="-\-mmapfixed-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapfixed ops N" help="stop after N mmapfixed bogo operations" /> -->
+                    <!-- <param argument="-\-mmapfork" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapfork N" help="start N workers stressing many forked mmaps/munmaps" /> -->
+                    <!-- <param argument="-\-mmapfork-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapfork ops N" help="stop after N mmapfork bogo operations" /> -->
+                    <!-- <param argument="-\-mmapmany" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapmany N" help="start N workers stressing many mmaps and munmaps" /> -->
+                    <!-- <param argument="-\-mmapmany-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mmapmany ops N" help="stop after N mmapmany bogo operations" /> -->
+                    <!-- <param argument="-\-mq" type="integer" min="0" optional="true" -->
+                    <!--        label="mq N" help="start N workers passing messages using POSIX messages" /> -->
+                    <!-- <param argument="-\-mq-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mq ops N" help="stop mq workers after N bogo messages" /> -->
+                    <!-- <param argument="-\-mq-size" type="integer" min="0" optional="true" -->
+                    <!--        label="mq size N" help="specify the size of the POSIX message queue" /> -->
+                    <!-- <param argument="-\-mremap" type="integer" min="0" optional="true" -->
+                    <!--        label="mremap N" help="start N workers stressing mremap" /> -->
+                    <!-- <param argument="-\-mremap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="mremap ops N" help="stop after N mremap bogo operations" /> -->
+                    <!-- <param argument="-\-mremap-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="mremap bytes N" help="mremap N bytes maximum for each stress iteration" /> -->
+                    <!-- <param argument="-\-mremap-lock" type="boolean" -->
+                    <!--        truevalue="-\-mremap-lock" falsevalue="" checked="false" -->
+                    <!--        label="mremap lock" help="mlock remap pages, force pages to be unswappable" /> -->
+                    <!-- <param argument="-\-msg" type="integer" min="0" optional="true" -->
+                    <!--        label="msg N" help="start N workers stressing System V messages" /> -->
+                    <!-- <param argument="-\-msg-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="msg ops N" help="stop msg workers after N bogo messages" /> -->
+                    <!-- <param argument="-\-msg-types" type="integer" min="0" optional="true" -->
+                    <!--        label="msg types N" help="enable N different message types" /> -->
+                    <!-- <param argument="-\-msync" type="integer" min="0" optional="true" -->
+                    <!--        label="msync N" help="start N workers syncing mmap'd data with msync" /> -->
+                    <!-- <param argument="-\-msync-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="msync ops N" help="stop msync workers after N bogo msyncs" /> -->
+                    <!-- <param argument="-\-msync-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="msync bytes N" help="size of file and memory mapped region to msync" /> -->
+                    <!-- <param argument="-\-nanosleep" type="integer" min="0" optional="true" -->
+                    <!--        label="nanosleep N" help="start N workers performing short sleeps" /> -->
+                    <!-- <param argument="-\-nanosleep-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="nanosleep ops N" help="stop after N bogo sleep operations" /> -->
+                    <!-- <param argument="-\-netdev" type="integer" min="0" optional="true" -->
+                    <!--        label="netdev N" help="start N workers exercising netdevice ioctls" /> -->
+                    <!-- <param argument="-\-netdev-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="netdev ops N" help="stop netdev workers after N bogo operations" /> -->
+                    <!-- <param argument="-\-netlink-proc" type="integer" min="0" optional="true" -->
+                    <!--        label="netlink proc N" help="start N workers exercising netlink process events" /> -->
+                    <!-- <param argument="-\-netlink-proc-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="netlink proc ops N" help="stop netlink-proc workers after N bogo events" /> -->
+                    <!-- <param argument="-\-netlink-task" type="integer" min="0" optional="true" -->
+                    <!--        label="netlink task N" help="start N workers exercising netlink tasks events" /> -->
+                    <!-- <param argument="-\-netlink-task-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="netlink task ops N" help="stop netlink-task workers after N bogo events" /> -->
+                    <!-- <param argument="-\-nice" type="integer" min="0" optional="true" -->
+                    <!--        label="nice N" help="start N workers that randomly re-adjust nice levels" /> -->
+                    <!-- <param argument="-\-nice-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="nice ops N" help="stop after N nice bogo operations" /> -->
+                    <!-- <param argument="-\-nop" type="integer" min="0" optional="true" -->
+                    <!--        label="nop N" help="start N workers that burn cycles with no-ops" /> -->
+                    <!-- <param argument="-\-nop-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="nop ops N" help="stop after N nop bogo no-op operations" /> -->
+                    <!-- <param argument="-\-null" type="integer" min="0" optional="true" -->
+                    <!--        label="null N" help="start N workers writing to /dev/null" /> -->
+                    <!-- <param argument="-\-null-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="null ops N" help="stop after N /dev/null bogo write operations" /> -->
+                    <!-- <param argument="-\-numa" type="integer" min="0" optional="true" -->
+                    <!--        label="numa N" help="start N workers stressing NUMA interfaces" /> -->
+                    <!-- <param argument="-\-numa-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="numa ops N" help="stop after N NUMA bogo operations" /> -->
+                    <!-- <param argument="-\-oom-pipe" type="integer" min="0" optional="true" -->
+                    <!--        label="oom pipe N" help="start N workers exercising large pipes" /> -->
+                    <!-- <param argument="-\-oom-pipe-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="oom pipe ops N" help="stop after N oom-pipe bogo operations" /> -->
+                    <!-- <param argument="-\-opcode" type="integer" min="0" optional="true" -->
+                    <!--        label="opcode N" help="start N workers exercising random opcodes" /> -->
+                    <!-- <param argument="-\-opcode-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="opcode ops N" help="stop after N opcode bogo operations" /> -->
+                    <!-- <param argument="-\-opcode-method" type="select" optional="true" -->
+                    <!--        label="opcode method M" help="set opcode stress method (M = random, inc, mixed, text)" > -->
+                    <!--     <option value="random" /> -->
+                    <!--     <option value="inc" /> -->
+                    <!--     <option value="mixed" /> -->
+                    <!--     <option value="text" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-open" type="integer" min="0" optional="true" -->
+                    <!--        label="open N" help="start N workers exercising open/close" /> -->
+                    <!-- <param argument="-\-open-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="open ops N" help="stop after N open/close bogo operations" /> -->
+                    <!-- <param argument="-\-open-fd" type="boolean" -->
+                    <!--        truevalue="-\-open-fd" falsevalue="" checked="false" -->
+                    <!--        label="open fd" help="open files in /proc/$pid/fd" /> -->
+                    <!-- <param argument="-\-personality" type="integer" min="0" optional="true" -->
+                    <!--        label="personality N" help="start N workers that change their personality" /> -->
+                    <!-- <param argument="-\-personality-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="personality ops N" help="stop after N bogo personality calls" /> -->
+                    <!-- <param argument="-\-physpage" type="integer" min="0" optional="true" -->
+                    <!--        label="physpage N" help="start N workers performing physical page lookup" /> -->
+                    <!-- <param argument="-\-physpage-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="physpage ops N" help="stop after N physical page bogo operations" /> -->
+                    <!-- <param argument="-\-pidfd" type="integer" min="0" optional="true" -->
+                    <!--        label="pidfd N" help="start N workers exercising pidfd system call" /> -->
+                    <!-- <param argument="-\-pidfd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="pidfd ops N" help="stop after N pidfd bogo operations" /> -->
+                    <!-- <param argument="-\-ping-sock" type="integer" min="0" optional="true" -->
+                    <!--        label="ping sock N" help="start N workers that exercises a ping socket" /> -->
+                    <!-- <param argument="-\-ping-sock-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="ping sock ops N" help="stop after N ping sendto messages" /> -->
+                    <!-- <param argument="-\-pipe" type="integer" min="0" optional="true" -->
+                    <!--        label="pipe N" help="start N workers exercising pipe I/O" /> -->
+                    <!-- <param argument="-\-pipe-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="pipe ops N" help="stop after N pipe I/O bogo operations" /> -->
+                    <!-- <param argument="-\-pipe-data-size" type="integer" min="0" optional="true" -->
+                    <!--        label="pipe data size N" help="set pipe size of each pipe write to N bytes" /> -->
+                    <!-- <param argument="-\-pipe-size" type="integer" min="0" optional="true" -->
+                    <!--        label="pipe size N" help="set pipe size to N bytes" /> -->
+                    <!-- <param argument="-\-pipeherd" type="integer" min="0" optional="true" -->
+                    <!--        label="pipeherd N" help="start N multi-process workers exercising pipes I/O" /> -->
+                    <!-- <param argument="-\-pipeherd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="pipeherd ops N" help="stop after N pipeherd I/O bogo operations" /> -->
+                    <!-- <param argument="-\-pipeherd-yield" type="boolean" -->
+                    <!--        truevalue="-\-pipeherd-yield" falsevalue="" checked="false" -->
+                    <!--        label="pipeherd yield" help="force processes to yield after each write" /> -->
+                    <!-- <param argument="-\-pkey" type="integer" min="0" optional="true" -->
+                    <!--        label="pkey N" help="start N workers exercising pkey_mprotect" /> -->
+                    <!-- <param argument="-\-pkey-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="pkey ops N" help="stop after N bogo pkey_mprotect bogo operations" /> -->
+                    <!-- <param argument="-\-poll" type="integer" min="0" optional="true" -->
+                    <!--        label="poll N" help="start N workers exercising zero timeout polling" /> -->
+                    <!-- <param argument="-\-poll-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="poll ops N" help="stop after N poll bogo operations" /> -->
+                    <!-- <param argument="-\-procfs" type="integer" min="0" optional="true" -->
+                    <!--        label="procfs N" help="start N workers reading portions of /proc" /> -->
+                    <!-- <param argument="-\-procfs-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="procfs ops N" help="stop procfs workers after N bogo read operations" /> -->
+                    <!-- <param argument="-\-procfs" type="integer" min="0" optional="true" -->
+                    <!--        label="procfs N" help="start N workers reading portions of /proc" /> -->
+                    <!-- <param argument="-\-procfs-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="procfs ops N" help="stop procfs workers after N bogo read operations" /> -->
+                    <!-- <param argument="-\-pthread" type="integer" min="0" optional="true" -->
+                    <!--        label="pthread N" help="start N workers that create multiple threads" /> -->
+                    <!-- <param argument="-\-pthread-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="pthread ops N" help="stop pthread workers after N bogo threads created" /> -->
+                    <!-- <param argument="-\-pthread-max" type="integer" min="1" optional="true" -->
+                    <!--        label="pthread max P" help="create P threads at a time by each worker" /> -->
+                    <!-- <param argument="-\-ptrace" type="integer" min="0" optional="true" -->
+                    <!--        label="ptrace N" help="start N workers that trace a child using ptrace" /> -->
+                    <!-- <param argument="-\-ptrace-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="ptrace ops N" help="stop ptrace workers after N system calls are traced" /> -->
+                    <!-- <param argument="-\-pty" type="integer" min="0" optional="true" -->
+                    <!--        label="pty N" help="start N workers that exercise pseudoterminals" /> -->
+                    <!-- <param argument="-\-pty-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="pty ops N" help="stop pty workers after N pty bogo operations" /> -->
+                    <!-- <param argument="-\-pty-max" type="integer" min="0" optional="true" -->
+                    <!--        label="pty max N" help="attempt to open a maximum of N ptys" /> -->
+                    <!-- <param argument="-\-qsort" type="integer" min="0" optional="true" -->
+                    <!--        label="qsort N" help="start N workers qsorting 32 bit random integers" /> -->
+                    <!-- <param argument="-\-qsort-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="qsort ops N" help="stop after N qsort bogo operations" /> -->
+                    <!-- <param argument="-\-qsort-size" type="integer" min="0" optional="true" -->
+                    <!--        label="qsort size N" help="number of 32 bit integers to sort" /> -->
+                    <!-- <param argument="-\-quota" type="integer" min="0" optional="true" -->
+                    <!--        label="quota N" help="start N workers exercising quotactl commands" /> -->
+                    <!-- <param argument="-\-quota-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="quota ops N" help="stop after N quotactl bogo operations" /> -->
+                    <!-- <param argument="-\-radixsort" type="integer" min="0" optional="true" -->
+                    <!--        label="radixsort N" help="start N workers radix sorting random strings" /> -->
+                    <!-- <param argument="-\-radixsort-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="radixsort ops N" help="stop after N radixsort bogo operations" /> -->
+                    <!-- <param argument="-\-radixsort-size" type="integer" min="0" optional="true" -->
+                    <!--        label="radixsort size N" help="number of strings to sort" /> -->
+                    <!-- <param argument="-\-ramfs" type="integer" min="0" optional="true" -->
+                    <!--        label="ramfs N" help="start N workers exercising ramfs mounts" /> -->
+                    <!-- <param argument="-\-ramfs-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="ramfs ops N" help="stop after N bogo ramfs mount operations" /> -->
+                    <!-- <param argument="-\-ramfs-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="ramfs bytes N" help="set the ramfs size in bytes, e.g. 2M is 2MB" /> -->
+                    <!-- <param argument="-\-rawdev" type="integer" min="0" optional="true" -->
+                    <!--        label="rawdev N" help="start N workers that read a raw device" /> -->
+                    <!-- <param argument="-\-rawdev-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rawdev ops N" help="stop after N rawdev read operations" /> -->
+                    <!-- <param argument="-\-rawdev-method" type="text" optional="true" -->
+                    <!--        label="rawdev method M" help="specify the rawdev read method to use" > -->
+                    <!--     <expand macro="sanitize_filename" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-rawpkt" type="integer" min="0" optional="true" -->
+                    <!--        label="rawpkt N" help="start N workers exercising raw packets" /> -->
+                    <!-- <param argument="-\-rawpkt-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rawpkt ops N" help="stop after N raw packet bogo operations" /> -->
+                    <!-- <param argument="-\-rawpkt-port" type="integer" min="1" optional="true" -->
+                    <!--        label="rawpkt port P" help="use raw packet ports P to P + number of workers - 1" /> -->
+                    <!-- <param argument="-\-rawsock" type="integer" min="0" optional="true" -->
+                    <!--        label="rawsock N" help="start N workers performing raw socket send/receives " /> -->
+                    <!-- <param argument="-\-rawsock-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rawsock ops N" help="stop after N raw socket bogo operations" /> -->
+                    <!-- <param argument="-\-rawudp" type="integer" min="0" optional="true" -->
+                    <!--        label="rawudp N" help="start N workers exercising raw UDP socket I/O" /> -->
+                    <!-- <param argument="-\-rawudp-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rawudp ops N" help="stop after N raw socket UDP bogo operations" /> -->
+                    <!-- <param argument="-\-rawudp-port" type="integer" min="1" optional="true" -->
+                    <!--        label="rawudp port P" help="use raw socket ports P to P + number of workers - 1" /> -->
+                    <!-- <param argument="-\-rdrand" type="integer" min="0" optional="true" -->
+                    <!--        label="rdrand N" help="start N workers exercising rdrand (x86 only)" /> -->
+                    <!-- <param argument="-\-rdrand-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rdrand ops N" help="stop after N rdrand bogo operations" /> -->
+                    <!-- <param argument="-\-readahead" type="integer" min="0" optional="true" -->
+                    <!--        label="readahead N" help="start N workers exercising file readahead" /> -->
+                    <!-- <param argument="-\-readahead-bytes" type="text" optional="true" -->
+                    <!--        label="readahead bytes N" help="size of file to readahead on (default is 1GB)" > -->
+                    <!--     <expand macro="sanitize_filesize" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-readahead-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="readahead ops N" help="stop after N readahead bogo operations" /> -->
+                    <!-- <param argument="-\-reboot" type="integer" min="0" optional="true" -->
+                    <!--        label="reboot N" help="start N workers that exercise bad reboot calls" /> -->
+                    <!-- <param argument="-\-reboot-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="reboot ops N" help="stop after N bogo reboot operations" /> -->
+                    <!-- <param argument="-\-remap" type="integer" min="0" optional="true" -->
+                    <!--        label="remap N" help="start N workers exercising page remappings" /> -->
+                    <!-- <param argument="-\-remap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="remap ops N" help="stop after N remapping bogo operations" /> -->
+                    <!-- <param argument="-\-rename" type="integer" min="0" optional="true" -->
+                    <!--        label="rename N" help="start N workers exercising file renames" /> -->
+                    <!-- <param argument="-\-rename-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rename ops N" help="stop after N rename bogo operations" /> -->
+                    <!-- <param argument="-\-resources" type="integer" min="0" optional="true" -->
+                    <!--        label="resources N" help="start N workers consuming system resources" /> -->
+                    <!-- <param argument="-\-resources-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="resources ops N" help="stop after N resource bogo operations" /> -->
+                    <!-- <param argument="-\-revio" type="integer" min="0" optional="true" -->
+                    <!--        label="revio N" help="start N workers performing reverse I/O" /> -->
+                    <!-- <param argument="-\-revio-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="revio ops N" help="stop after N revio bogo operations" /> -->
+                    <!-- <param argument="-\-rmap" type="integer" min="0" optional="true" -->
+                    <!--        label="rmap N" help="start N workers that stress reverse mappings" /> -->
+                    <!-- <param argument="-\-rmap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rmap ops N" help="stop after N rmap bogo operations" /> -->
+                    <!-- <param argument="-\-rmap" type="integer" min="0" optional="true" -->
+                    <!--        label="rmap N" help="start N workers that stress reverse mappings" /> -->
+                    <!-- <param argument="-\-rmap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rmap ops N" help="stop after N rmap bogo operations" /> -->
+                    <!-- <param argument="-\-rseq" type="integer" min="0" optional="true" -->
+                    <!--        label="rseq N" help="start N workers that exercise restartable sequences" /> -->
+                    <!-- <param argument="-\-rseq-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rseq ops N" help="stop after N bogo restartable sequence operations" /> -->
+                    <!-- <param argument="-\-rtc" type="integer" min="0" optional="true" -->
+                    <!--        label="rtc N" help="start N workers that exercise the RTC interfaces" /> -->
+                    <!-- <param argument="-\-rtc-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="rtc ops N" help="stop after N RTC bogo operations" /> -->
+                    <!-- <param argument="-\-schedpolicy" type="integer" min="0" optional="true" -->
+                    <!--        label="schedpolicy N" help="start N workers that exercise scheduling policy" /> -->
+                    <!-- <param argument="-\-schedpolicy-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="schedpolicy ops N" help="stop after N scheduling policy bogo operations" /> -->
+                    <!-- <param argument="-\-sctp" type="integer" min="0" optional="true" -->
+                    <!--        label="sctp N" help="start N workers performing SCTP send/receives " /> -->
+                    <!-- <param argument="-\-sctp-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sctp ops N" help="stop after N SCTP bogo operations" /> -->
+                    <!-- <param argument="-\-sctp-domain" type="select" optional="true" -->
+                    <!--        label="sctp domain D" help="specify sctp domain, default is ipv4" > -->
+                    <!--     <expand macro="default_ipv4" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-sctp-port" type="integer" min="1" optional="true" -->
+                    <!--        label="sctp port P" help="use SCTP ports P to P + number of workers - 1" /> -->
+                    <!-- <param argument="-\-sctp-sched" type="text" optional="true" -->
+                    <!--        label="sctp sched S" help="specify sctp scheduler" > -->
+                    <!--     <expand macro="sanitize_options" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-seal" type="integer" min="0" optional="true" -->
+                    <!--        label="seal N" help="start N workers performing fcntl SEAL commands" /> -->
+                    <!-- <param argument="-\-seal-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="seal ops N" help="stop after N SEAL bogo operations" /> -->
+                    <!-- <param argument="-\-seccomp" type="integer" min="0" optional="true" -->
+                    <!--        label="seccomp N" help="start N workers performing seccomp call filtering" /> -->
+                    <!-- <param argument="-\-seccomp-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="seccomp ops N" help="stop after N seccomp bogo operations" /> -->
+                    <!-- <param argument="-\-secretmem" type="integer" min="0" optional="true" -->
+                    <!--        label="secretmem N" help="start N workers that use secretmem mappings" /> -->
+                    <!-- <param argument="-\-secretmem-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="secretmem ops N" help="stop after N secretmem bogo operations" /> -->
+                    <!-- <param argument="-\-seek" type="integer" min="0" optional="true" -->
+                    <!--        label="seek N" help="start N workers performing random seek r/w IO" /> -->
+                    <!-- <param argument="-\-seek-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="seek ops N" help="stop after N seek bogo operations" /> -->
+                    <!-- <param argument="-\-seek-punch" type="boolean" -->
+                    <!--        truevalue="-\-seek-punch" falsevalue="" checked="false" -->
+                    <!--        label="seek punch" help="punch random holes in file to stress extents" /> -->
+                    <!-- <param argument="-\-seek-size" type="integer" min="0" optional="true" -->
+                    <!--        label="seek size N" help="length of file to do random I/O upon" /> -->
+                    <!-- <param argument="-\-sem" type="integer" min="0" optional="true" -->
+                    <!--        label="sem N" help="start N workers doing semaphore operations" /> -->
+                    <!-- <param argument="-\-sem-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sem ops N" help="stop after N semaphore bogo operations" /> -->
+                    <!-- <param argument="-\-sem-procs" type="integer" min="0" optional="true" -->
+                    <!--        label="sem procs N" help="number of processes to start per worker" /> -->
+                    <!-- <param argument="-\-sem-sysv" type="integer" min="0" optional="true" -->
+                    <!--        label="sem sysv N" help="start N workers doing System V semaphore operations" /> -->
+                    <!-- <param argument="-\-sem-sysv-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sem sysv ops N" help="stop after N System V sem bogo operations" /> -->
+                    <!-- <param argument="-\-sem-sysv-procs" type="integer" min="0" optional="true" -->
+                    <!--        label="sem sysv procs N" help="number of processes to start per worker" /> -->
+                    <!-- <param argument="-\-sendfile" type="integer" min="0" optional="true" -->
+                    <!--        label="sendfile N" help="start N workers exercising sendfile" /> -->
+                    <!-- <param argument="-\-sendfile-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sendfile ops N" help="stop after N bogo sendfile operations" /> -->
+                    <!-- <param argument="-\-sendfile-size" type="integer" min="0" optional="true" -->
+                    <!--        label="sendfile size N" help="size of data to be sent with sendfile" /> -->
+                    <!-- <param argument="-\-session" type="integer" min="0" optional="true" -->
+                    <!--        label="session N" help="start N workers that exercise new sessions" /> -->
+                    <!-- <param argument="-\-session-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="session ops N" help="stop after N session bogo operations" /> -->
+                    <!-- <param argument="-\-set" type="integer" min="0" optional="true" -->
+                    <!--        label="set N" help="start N workers exercising the set*() system calls" /> -->
+                    <!-- <param argument="-\-set-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="set ops N" help="stop after N set bogo operations" /> -->
+                    <!-- <param argument="-\-shellsort" type="integer" min="0" optional="true" -->
+                    <!--        label="shellsort N" help="start N workers shell sorting 32 bit random integers" /> -->
+                    <!-- <param argument="-\-shellsort-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="shellsort ops N" help="stop after N shell sort bogo operations" /> -->
+                    <!-- <param argument="-\-shellsort-size" type="integer" min="0" optional="true" -->
+                    <!--        label="shellsort size N" help="number of 32 bit integers to sort" /> -->
+                    <!-- <param argument="-\-shm" type="integer" min="0" optional="true" -->
+                    <!--        label="shm N" help="start N workers that exercise POSIX shared memory" /> -->
+                    <!-- <param argument="-\-shm-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="shm ops N" help="stop after N POSIX shared memory bogo operations" /> -->
+                    <!-- <param argument="-\-shm-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="shm bytes N" help="allocate/free N bytes of POSIX shared memory" /> -->
+                    <!-- <param argument="-\-shm-segs" type="integer" min="0" optional="true" -->
+                    <!--        label="shm segs N" help="allocate N POSIX shared memory segments per iteration" /> -->
+                    <!-- <param argument="-\-shm-sysv" type="integer" min="0" optional="true" -->
+                    <!--        label="shm sysv N" help="start N workers that exercise System V shared memory" /> -->
+                    <!-- <param argument="-\-shm-sysv-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="shm sysv ops N" help="stop after N shared memory bogo operations" /> -->
+                    <!-- <param argument="-\-shm-sysv-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="shm sysv bytes N" help="allocate and free N bytes of shared memory per loop" /> -->
+                    <!-- <param argument="-\-shm-sysv-segs" type="integer" min="0" optional="true" -->
+                    <!--        label="shm sysv segs N" help="allocate N shared memory segments per iteration" /> -->
+                    <!-- <param argument="-\-sigabrt" type="integer" min="0" optional="true" -->
+                    <!--        label="sigabrt N" help="start N workers generating segmentation faults" /> -->
+                    <!-- <param argument="-\-sigabrt-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigabrt ops N" help="stop after N bogo segmentation faults" /> -->
+                    <!-- <param argument="-\-sigchld" type="integer" min="0" optional="true" -->
+                    <!--        label="sigchld N" help="start N workers that handle SIGCHLD" /> -->
+                    <!-- <param argument="-\-sigchld-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigchld ops N" help="stop after N bogo SIGCHLD signals" /> -->
+                    <!-- <param argument="-\-sigfd" type="integer" min="0" optional="true" -->
+                    <!--        label="sigfd N" help="start N workers reading signals via signalfd reads " /> -->
+                    <!-- <param argument="-\-sigfd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigfd ops N" help="stop after N bogo signalfd reads" /> -->
+                    <!-- <param argument="-\-sigfpe" type="integer" min="0" optional="true" -->
+                    <!--        label="sigfpe N" help="start N workers generating floating point math faults" /> -->
+                    <!-- <param argument="-\-sigfpe-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigfpe ops N" help="stop after N bogo floating point math faults" /> -->
+                    <!-- <param argument="-\-sigio" type="integer" min="0" optional="true" -->
+                    <!--        label="sigio N" help="start N workers that exercise SIGIO signals" /> -->
+                    <!-- <param argument="-\-sigio-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigio ops N" help="stop after N bogo sigio signals" /> -->
+                    <!-- <param argument="-\-signal" type="integer" min="0" optional="true" -->
+                    <!--        label="signal N" help="start N workers that exercise signal" /> -->
+                    <!-- <param argument="-\-signal-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="signal ops N" help="stop after N bogo signals" /> -->
+                    <!-- <param argument="-\-sigpending" type="integer" min="0" optional="true" -->
+                    <!--        label="sigpending N" help="start N workers exercising sigpending" /> -->
+                    <!-- <param argument="-\-sigpending-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigpending ops N" help="stop after N sigpending bogo operations" /> -->
+                    <!-- <param argument="-\-sigpipe" type="integer" min="0" optional="true" -->
+                    <!--        label="sigpipe N" help="start N workers exercising SIGPIPE" /> -->
+                    <!-- <param argument="-\-sigpipe-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigpipe ops N" help="stop after N SIGPIPE bogo operations" /> -->
+                    <!-- <param argument="-\-sigq" type="integer" min="0" optional="true" -->
+                    <!--        label="sigq N" help="start N workers sending sigqueue signals" /> -->
+                    <!-- <param argument="-\-sigq-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigq ops N" help="stop after N sigqueue bogo operations" /> -->
+                    <!-- <param argument="-\-sigrt" type="integer" min="0" optional="true" -->
+                    <!--        label="sigrt N" help="start N workers sending real time signals" /> -->
+                    <!-- <param argument="-\-sigrt-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigrt ops N" help="stop after N real time signal bogo operations" /> -->
+                    <!-- <param argument="-\-sigsegv" type="integer" min="0" optional="true" -->
+                    <!--        label="sigsegv N" help="start N workers generating segmentation faults" /> -->
+                    <!-- <param argument="-\-sigsegv-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigsegv ops N" help="stop after N bogo segmentation faults" /> -->
+                    <!-- <param argument="-\-sigsuspend" type="integer" min="0" optional="true" -->
+                    <!--        label="sigsuspend N" help="start N workers exercising sigsuspend" /> -->
+                    <!-- <param argument="-\-sigsuspend-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigsuspend ops N" help="stop after N bogo sigsuspend wakes" /> -->
+                    <!-- <param argument="-\-sigtrap" type="integer" min="0" optional="true" -->
+                    <!--        label="sigtrap N" help="start N workers generating segmentation faults" /> -->
+                    <!-- <param argument="-\-sigtrap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sigtrap ops N" help="stop after N bogo segmentation faults" /> -->
+                    <!-- <param argument="-\-skiplist" type="integer" min="0" optional="true" -->
+                    <!--        label="skiplist N" help="start N workers that exercise a skiplist search" /> -->
+                    <!-- <param argument="-\-skiplist-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="skiplist ops N" help="stop after N skiplist search bogo operations" /> -->
+                    <!-- <param argument="-\-skiplist-size" type="integer" min="0" optional="true" -->
+                    <!--        label="skiplist size N" help="number of 32 bit integers to add to skiplist" /> -->
+                    <!-- <param argument="-\-sleep" type="integer" min="0" optional="true" -->
+                    <!--        label="sleep N" help="start N workers performing various duration sleeps" /> -->
+                    <!-- <param argument="-\-sleep-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sleep ops N" help="stop after N bogo sleep operations" /> -->
+                    <!-- <param argument="-\-sleep-max" type="integer" min="1" optional="true" -->
+                    <!--        label="sleep max P" help="create P threads at a time by each worker" /> -->
+                    <!-- <param argument="-\-sock" type="integer" min="0" optional="true" -->
+                    <!--        label="sock N" help="start N workers exercising socket I/O" /> -->
+                    <!-- <param argument="-\-sock-domain" type="select" optional="true" -->
+                    <!--        label="sock domain D" help="specify socket domain, default is ipv4" > -->
+                    <!--     <expand macro="default_ipv4" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-sock-nodelay" type="boolean" -->
+                    <!--        truevalue="-\-sock-nodelay" falsevalue="" checked="false" -->
+                    <!--        label="sock nodelay" help="disable Nagle algorithm, send data immediately" /> -->
+                    <!-- <param argument="-\-sock-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sock ops N" help="stop after N socket bogo operations" /> -->
+                    <!-- <param argument="-\-sock-opts" type="select" optional="true" -->
+                    <!--        label="sock opts option" help="socket options [send|sendmsg|sendmmsg]" > -->
+                    <!--     <option value="send" /> -->
+                    <!--     <option value="sendmsg" /> -->
+                    <!--     <option value="sendmmsg" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-sock-port" type="integer" min="1" optional="true" -->
+                    <!--        label="sock port P" help="use socket ports P to P + number of workers - 1" /> -->
+                    <!-- <param argument="-\-sock-type" type="select" optional="true" -->
+                    <!--        label="sock type T" help="socket type (stream, seqpacket)" > -->
+                    <!--     <option value="stream" /> -->
+                    <!--     <option value="seqpacket" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-sock" type="integer" min="0" optional="true" -->
+                    <!--        label="sock N" help="start N workers exercising socket I/O" /> -->
+                    <!-- <param argument="-\-sock-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sock ops N" help="stop after N socket bogo operations" /> -->
+                    <!-- <param argument="-\-sockdiag" type="integer" min="0" optional="true" -->
+                    <!--        label="sockdiag N" help="start N workers exercising sockdiag netlink" /> -->
+                    <!-- <param argument="-\-sockdiag-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sockdiag ops N" help="stop sockdiag workers after N bogo messages" /> -->
+                    <!-- <param argument="-\-sockfd" type="integer" min="0" optional="true" -->
+                    <!--        label="sockfd N" help="start N workers sending file descriptors over sockets" /> -->
+                    <!-- <param argument="-\-sockfd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sockfd ops N" help="stop after N sockfd bogo operations" /> -->
+                    <!-- <param argument="-\-sockfd-port" type="integer" min="1" optional="true" -->
+                    <!--        label="sockfd port P" help="use socket fd ports P to P + number of workers - 1" /> -->
+                    <!-- <param argument="-\-sockpair" type="integer" min="0" optional="true" -->
+                    <!--        label="sockpair N" help="start N workers exercising socket pair I/O activity" /> -->
+                    <!-- <param argument="-\-sockpair-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sockpair ops N" help="stop after N socket pair bogo operations" /> -->
+                    <!-- <param argument="-\-sockmany" type="integer" min="0" optional="true" -->
+                    <!--        label="sockmany N" help="start N workers exercising many socket connections" /> -->
+                    <!-- <param argument="-\-sockmany-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sockmany ops N" help="stop after N sockmany bogo operations" /> -->
+                    <!-- <param argument="-\-softlockup" type="integer" min="0" optional="true" -->
+                    <!--        label="softlockup N" help="start N workers that cause softlockups" /> -->
+                    <!-- <param argument="-\-softlockup-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="softlockup ops N" help="stop after N softlockup bogo operations" /> -->
+                    <!-- <param argument="-\-spawn" type="integer" min="0" optional="true" -->
+                    <!--        label="spawn N" help="start N workers spawning stress-ng using posix_spawn" /> -->
+                    <!-- <param argument="-\-spawn-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="spawn ops N" help="stop after N spawn bogo operations" /> -->
+                    <!-- <param argument="-\-splice" type="integer" min="0" optional="true" -->
+                    <!--        label="splice N" help="start N workers reading/writing using splice" /> -->
+                    <!-- <param argument="-\-splice-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="splice ops N" help="stop after N bogo splice operations" /> -->
+                    <!-- <param argument="-\-splice-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="splice bytes N" help="number of bytes to transfer per splice call" /> -->
+                    <!-- <param argument="-\-stack" type="integer" min="0" optional="true" -->
+                    <!--        label="stack N" help="start N workers generating stack overflows" /> -->
+                    <!-- <param argument="-\-stack-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="stack ops N" help="stop after N bogo stack overflows" /> -->
+                    <!-- <param argument="-\-stack-fill" type="boolean" -->
+                    <!--        truevalue="-\-stack-fill" falsevalue="" checked="false" -->
+                    <!--        label="stack fill" help="fill stack, touches all new pages " /> -->
+                    <!-- <param argument="-\-stack-mlock" type="boolean" -->
+                    <!--        truevalue="-\-stack-mlock" falsevalue="" checked="false" -->
+                    <!--        label="stack mlock" help="mlock stack, force pages to be unswappable" /> -->
+                    <!-- <param argument="-\-stackmmap" type="integer" min="0" optional="true" -->
+                    <!--        label="stackmmap N" help="start N workers exercising a filebacked stack" /> -->
+                    <!-- <param argument="-\-stackmmap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="stackmmap ops N" help="stop after N bogo stackmmap operations" /> -->
+                    <!-- <param argument="-\-str" type="integer" min="0" optional="true" -->
+                    <!--        label="str N" help="start N workers exercising lib C string functions" /> -->
+                    <!-- <param argument="-\-str-method" type="text" optional="true" -->
+                    <!--        label="str method func" help="specify the string function to stress" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-str-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="str ops N" help="stop after N bogo string operations" /> -->
+                    <!-- <param argument="-\-stream" type="integer" min="0" optional="true" -->
+                    <!--        label="stream N" help="start N workers exercising memory bandwidth" /> -->
+                    <!-- <param argument="-\-stream-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="stream ops N" help="stop after N bogo stream operations" /> -->
+                    <!-- <param argument="-\-stream-index" type="boolean" -->
+                    <!--        truevalue="-\-stream-index" falsevalue="" checked="false" -->
+                    <!--        label="stream index" help="specify number of indices into the data (0..3)" /> -->
+                    <!-- <param argument="-\-stream-l3-size" type="integer" min="0" optional="true" -->
+                    <!--        label="stream l3 size N" help="specify the L3 cache size of the CPU" /> -->
+                    <!-- <param argument="-\-stream-madvise" type="text" optional="true" -->
+                    <!--        label="stream madvise M" help="specify mmap'd stream buffer madvise advice" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-swap" type="integer" min="0" optional="true" -->
+                    <!--        label="swap N" help="start N workers exercising swapon/swapoff" /> -->
+                    <!-- <param argument="-\-swap-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="swap ops N" help="stop after N swapon/swapoff operations" /> -->
+                    <!-- <param argument="-\-switch" type="integer" min="0" optional="true" -->
+                    <!--        label="switch N" help="start N workers doing rapid context switches" /> -->
+                    <!-- <param argument="-\-switch-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="switch ops N" help="stop after N context switch bogo operations" /> -->
+                    <!-- <param argument="-\-switch-freq" type="integer" min="0" optional="true" -->
+                    <!--        label="switch freq N" help="set frequency of context switches" /> -->
+                    <!-- <param argument="-\-symlink" type="integer" min="0" optional="true" -->
+                    <!--        label="symlink N" help="start N workers creating symbolic links" /> -->
+                    <!-- <param argument="-\-symlink-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="symlink ops N" help="stop after N symbolic link bogo operations" /> -->
+                    <!-- <param argument="-\-sync-file" type="integer" min="0" optional="true" -->
+                    <!--        label="sync file N" help="start N workers exercise sync_file_range" /> -->
+                    <!-- <param argument="-\-sync-file-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sync file ops N" help="stop after N sync_file_range bogo operations" /> -->
+                    <!-- <param argument="-\-sync-file-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="sync file bytes N" help="size of file to be sync'd" /> -->
+                    <!-- <param argument="-\-sysbadaddr" type="integer" min="0" optional="true" -->
+                    <!--        label="sysbadaddr N" help="start N workers that pass bad addresses to syscalls" /> -->
+                    <!-- <param argument="-\-sysbadaddr-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sysbadaddr ops N" help="stop after N sysbadaddr bogo syscalls" /> -->
+                    <!-- <param argument="-\-sysinfo" type="integer" min="0" optional="true" -->
+                    <!--        label="sysinfo N" help="start N workers reading system information" /> -->
+                    <!-- <param argument="-\-sysinfo-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sysinfo ops N" help="stop after sysinfo bogo operations" /> -->
+                    <!-- <param argument="-\-sysinval" type="integer" min="0" optional="true" -->
+                    <!--        label="sysinval N" help="start N workers that pass invalid args to syscalls" /> -->
+                    <!-- <param argument="-\-sysinval-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sysinval ops N" help="stop after N sysinval bogo syscalls" /> -->
+                    <!-- <param argument="-\-sysfs" type="integer" min="0" optional="true" -->
+                    <!--        label="sysfs N" help="start N workers reading files from /sys" /> -->
+                    <!-- <param argument="-\-sysfs-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="sysfs ops N" help="stop after sysfs bogo operations" /> -->
+                    <!-- <param argument="-\-tee" type="integer" min="0" optional="true" -->
+                    <!--        label="tee N" help="start N workers exercising the tee system call" /> -->
+                    <!-- <param argument="-\-tee-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="tee ops N" help="stop after N tee bogo operations" /> -->
+                    <!-- <param argument="-\-timer" type="integer" min="0" optional="true" -->
+                    <!--        label="timer N" help="start N workers producing timer events" /> -->
+                    <!-- <param argument="-\-timer-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="timer ops N" help="stop after N timer bogo events" /> -->
+                    <!-- <param argument="-\-timer-freq" type="integer" min="1" max="1000000000" optional="true" -->
+                    <!--        label="timer freq F" help="run timer(s) at F Hz, range 1 to 1000000000" /> -->
+                    <!-- <param argument="-\-timer-rand" type="boolean" -->
+                    <!--        truevalue="-\-timer-rand" falsevalue="" checked="false" -->
+                    <!--        label="timer rand" help="enable random timer frequency" /> -->
+                    <!-- <param argument="-\-timerfd" type="integer" min="0" optional="true" -->
+                    <!--        label="timerfd N" help="start N workers producing timerfd events" /> -->
+                    <!-- <param argument="-\-timerfd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="timerfd ops N" help="stop after N timerfd bogo events" /> -->
+                    <!-- <param argument="-\-timerfd-freq" type="integer" min="1" max="1000000000" optional="true" -->
+                    <!--        label="timerfd freq F" help="run timer(s) at F Hz, range 1 to 1000000000" /> -->
+                    <!-- <param argument="-\-timerfd-rand" type="boolean" -->
+                    <!--        truevalue="-\-timerfd-rand" falsevalue="" checked="false" -->
+                    <!--        label="timerfd rand" help="enable random timerfd frequency" /> -->
+                    <!-- <param argument="-\-tlb-shootdown" type="integer" min="0" optional="true" -->
+                    <!--        label="tlb shootdown N" help="start N workers that force TLB shootdowns" /> -->
+                    <!-- <param argument="-\-tlb-shootdown-ops" type="boolean" -->
+                    <!--        truevalue="-\-tlb-shootdown-ops" falsevalue="" checked="false" -->
+                    <!--        label="tlb shootdown ops" help="Nstop after N TLB shootdown bogo ops" /> -->
+                    <!-- <param argument="-\-tmpfs" type="integer" min="0" optional="true" -->
+                    <!--        label="tmpfs N" help="start N workers mmap'ing a file on tmpfs" /> -->
+                    <!-- <param argument="-\-tmpfs-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="tmpfs ops N" help="stop after N tmpfs bogo ops" /> -->
+                    <!-- <param argument="-\-tmpfs-mmap-async" type="boolean" -->
+                    <!--        truevalue="-\-tmpfs-mmap-async" falsevalue="" checked="false" -->
+                    <!--        label="tmpfs mmap async" help="using asynchronous msyncs for tmpfs file based mmap" /> -->
+                    <!-- <param argument="-\-tmpfs-mmap-file" type="boolean" -->
+                    <!--        truevalue="-\-tmpfs-mmap-file" falsevalue="" checked="false" -->
+                    <!--        label="tmpfs mmap file" help="mmap onto a tmpfs file using synchronous msyncs" /> -->
+                    <!-- <param argument="-\-tree" type="integer" min="0" optional="true" -->
+                    <!--        label="tree N" help="start N workers that exercise tree structures" /> -->
+                    <!-- <param argument="-\-tree-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="tree ops N" help="stop after N bogo tree operations" /> -->
+                    <!-- <param argument="-\-tree-method" type="select" optional="true" -->
+                    <!--        label="tree method M" help="select tree method, all,avl,binary,rb,splay" > -->
+                    <!--     <option value="all" /> -->
+                    <!--     <option value="avl" /> -->
+                    <!--     <option value="binary" /> -->
+                    <!--     <option value="rb" /> -->
+                    <!--     <option value="splay" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-tree-size" type="integer" min="0" optional="true" -->
+                    <!--        label="tree size N" help="N is the number of items in the tree" /> -->
+                    <!-- <param argument="-\-tsc" type="integer" min="0" optional="true" -->
+                    <!--        label="tsc N" help="start N workers reading the time stamp counter" /> -->
+                    <!-- <param argument="-\-tsc-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="tsc ops N" help="stop after N TSC bogo operations" /> -->
+                    <!-- <param argument="-\-tsearch" type="integer" min="0" optional="true" -->
+                    <!--        label="tsearch N" help="start N workers that exercise a tree search" /> -->
+                    <!-- <param argument="-\-tsearch-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="tsearch ops N" help="stop after N tree search bogo operations" /> -->
+                    <!-- <param argument="-\-tsearch-size" type="integer" min="0" optional="true" -->
+                    <!--        label="tsearch size N" help="number of 32 bit integers to tsearch" /> -->
+                    <!-- <param argument="-\-tun" type="integer" min="0" optional="true" -->
+                    <!--        label="tun N" help="start N workers exercising tun interface" /> -->
+                    <!-- <param argument="-\-tun-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="tun ops N" help="stop after N tun bogo operations" /> -->
+                    <!-- <param argument="-\-tun-tap" type="boolean" -->
+                    <!--        truevalue="-\-tun-tap" falsevalue="" checked="false" -->
+                    <!--        label="tun tap" help="use TAP interface instead of TUN" /> -->
+                    <!-- <param argument="-\-udp" type="integer" min="0" optional="true" -->
+                    <!--        label="udp N" help="start N workers performing UDP send/receives " /> -->
+                    <!-- <param argument="-\-udp-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="udp ops N" help="stop after N udp bogo operations" /> -->
+                    <!-- <param argument="-\-udp-domain" type="select" optional="true" -->
+                    <!--        label="udp domain D" help="specify domain, default is ipv4" > -->
+                    <!--     <expand macro="default_ipv4" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-udp-lite" type="boolean" -->
+                    <!--        truevalue="-\-udp-lite" falsevalue="" checked="false" -->
+                    <!--        label="udp lite" help="use the UDP-Lite (RFC 3828) protocol" /> -->
+                    <!-- <param argument="-\-udp-port" type="integer" min="1" optional="true" -->
+                    <!--        label="udp port P" help="use ports P to P + number of workers - 1" /> -->
+                    <!-- <param argument="-\-udp-flood" type="integer" min="0" optional="true" -->
+                    <!--        label="udp flood N" help="start N workers that performs a UDP flood attack" /> -->
+                    <!-- <param argument="-\-udp-flood-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="udp flood ops N" help="stop after N udp flood bogo operations" /> -->
+                    <!-- <param argument="-\-udp-flood-domain" type="select" optional="true" -->
+                    <!--        label="udp flood domain D" help="specify domain, default is ipv4" > -->
+                    <!--     <expand macro="default_ipv4" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-unshare" type="integer" min="0" optional="true" -->
+                    <!--        label="unshare N" help="start N workers exercising resource unsharing" /> -->
+                    <!-- <param argument="-\-unshare-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="unshare ops N" help="stop after N bogo unshare operations" /> -->
+                    <!-- <param argument="-\-uprobe" type="integer" min="0" optional="true" -->
+                    <!--        label="uprobe N" help="start N workers that generate uprobe events" /> -->
+                    <!-- <param argument="-\-uprobe-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="uprobe ops N" help="stop after N uprobe events" /> -->
+                    <!-- <param argument="-\-urandom" type="integer" min="0" optional="true" -->
+                    <!--        label="urandom N" help="start N workers reading /dev/urandom" /> -->
+                    <!-- <param argument="-\-urandom-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="urandom ops N" help="stop after N urandom bogo read operations" /> -->
+                    <!-- <param argument="-\-userfaultfd" type="integer" min="0" optional="true" -->
+                    <!--        label="userfaultfd N" help="start N page faulting workers with userspace handling" /> -->
+                    <!-- <param argument="-\-userfaultfd-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="userfaultfd ops N" help="stop after N page faults have been handled" /> -->
+                    <!-- <param argument="-\-utime" type="integer" min="0" optional="true" -->
+                    <!--        label="utime N" help="start N workers updating file timestamps" /> -->
+                    <!-- <param argument="-\-utime-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="utime ops N" help="stop after N utime bogo operations" /> -->
+                    <!-- <param argument="-\-utime-fsync" type="boolean" -->
+                    <!--        truevalue="-\-utime-fsync" falsevalue="" checked="false" -->
+                    <!--        label="utime fsync" help="force utime meta data sync to the file system" /> -->
+                    <!-- <param argument="-\-vdso" type="integer" min="0" optional="true" -->
+                    <!--        label="vdso N" help="start N workers exercising functions in the VDSO" /> -->
+                    <!-- <param argument="-\-vdso-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vdso ops N" help="stop after N vDSO function calls" /> -->
+                    <!-- <param argument="-\-vdso-func" type="text" optional="true" -->
+                    <!--        label="vdso func F" help="use just vDSO function F" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-vecmath" type="integer" min="0" optional="true" -->
+                    <!--        label="vecmath N" help="start N workers performing vector math ops" /> -->
+                    <!-- <param argument="-\-vecmath-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vecmath ops N" help="stop after N vector math bogo operations" /> -->
+                    <!-- <param argument="-\-verity" type="integer" min="0" optional="true" -->
+                    <!--        label="verity N" help="start N workers exercising file verity ioctls" /> -->
+                    <!-- <param argument="-\-verity-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="verity ops N" help="stop after N file verity bogo operations" /> -->
+                    <!-- <param argument="-\-vfork" type="integer" min="0" optional="true" -->
+                    <!--        label="vfork N" help="start N workers spinning on vfork() and exit()" /> -->
+                    <!-- <param argument="-\-vfork-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vfork ops N" help="stop after N vfork bogo operations" /> -->
+                    <!-- <param argument="-\-vfork-max" type="integer" min="1" value="1" optional="true" -->
+                    <!--        label="vfork max P" help="create P processes per iteration, default is 1" /> -->
+                    <!-- <param argument="-\-vforkmany" type="integer" min="0" optional="true" -->
+                    <!--        label="vforkmany N" help="start N workers spawning many vfork children" /> -->
+                    <!-- <param argument="-\-vforkmany-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vforkmany ops N" help="stop after spawning N vfork children" /> -->
+                    <param argument="--vm" type="integer" min="0" optional="true"
+                           label="vm N" help="start N workers spinning on anonymous mmap" />
+                    <param argument="--vm-bytes" type="text" optional="true"
+                           label="vm bytes N" help="allocate N bytes per vm worker (default 256MB)" >
+                        <expand macro="sanitize_filesize" />
+                    </param>
+                    <!-- <param argument="-\-vm-hang" type="integer" min="0" optional="true" -->
+                    <!--        label="vm hang N" help="sleep N seconds before freeing memory" /> -->
+                    <!-- <param argument="-\-vm-keep" type="boolean" -->
+                    <!--        truevalue="-\-vm-keep" falsevalue="" checked="false" -->
+                    <!--        label="vm keep" help="redirty memory instead of reallocating" /> -->
+                    <!-- <param argument="-\-vm-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vm ops N" help="stop after N vm bogo operations" /> -->
+                    <!-- <param argument="-\-vm-locked" type="boolean" -->
+                    <!--        truevalue="-\-vm-locked" falsevalue="" checked="false" -->
+                    <!--        label="vm locked" help="lock the pages of the mapped region into memory" /> -->
+                    <!-- <param argument="-\-vm-madvise" type="text" optional="true" -->
+                    <!--        label="vm madvise M" help="specify mmap'd vm buffer madvise advice" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-vm-method" type="select" optional="true" -->
+                    <!--        label="vm method M" help="specify stress vm method M, default is all" > -->
+                    <!--     <expand macro="default_method_all" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-vm-populate" type="boolean" -->
+                    <!--        truevalue="-\-vm-populate" falsevalue="" checked="false" -->
+                    <!--        label="vm populate" help="populate (prefault) page tables for a mapping" /> -->
+                    <!-- <param argument="-\-vm-addr" type="integer" min="0" optional="true" -->
+                    <!--        label="vm addr N" help="start N vm address exercising workers" /> -->
+                    <!-- <param argument="-\-vm-addr-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vm addr ops N" help="stop after N vm address bogo operations" /> -->
+                    <!-- <param argument="-\-vm-rw" type="integer" min="0" optional="true" -->
+                    <!--        label="vm rw N" help="start N vm read/write process_vm* copy workers" /> -->
+                    <!-- <param argument="-\-vm-rw-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="vm rw bytes N" help="transfer N bytes of memory per bogo operation" /> -->
+                    <!-- <param argument="-\-vm-rw-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vm rw ops N" help="stop after N vm process_vm* copy bogo operations" /> -->
+                    <!-- <param argument="-\-vm-segv" type="integer" min="0" optional="true" -->
+                    <!--        label="vm segv N" help="start N workers that unmap their address space" /> -->
+                    <!-- <param argument="-\-vm-segv-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vm segv ops N" help="stop after N vm-segv unmap'd SEGV faults" /> -->
+                    <!-- <param argument="-\-vm-splice" type="integer" min="0" optional="true" -->
+                    <!--        label="vm splice N" help="start N workers reading/writing using vmsplice" /> -->
+                    <!-- <param argument="-\-vm-splice-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="vm splice ops N" help="stop after N bogo splice operations" /> -->
+                    <!-- <param argument="-\-vm-splice-bytes" type="integer" min="0" optional="true" -->
+                    <!--        label="vm splice bytes N" help="number of bytes to transfer per vmsplice call" /> -->
+                    <!-- <param argument="-\-wait" type="integer" min="0" optional="true" -->
+                    <!--        label="wait N" help="start N workers waiting on child being stop/resumed" /> -->
+                    <!-- <param argument="-\-wait-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="wait ops N" help="stop after N bogo wait operations" /> -->
+                    <!-- <param argument="-\-watchdog" type="integer" min="0" optional="true" -->
+                    <!--        label="watchdog N" help="start N workers that exercise /dev/watchdog" /> -->
+                    <!-- <param argument="-\-watchdog-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="watchdog ops N" help="stop after N bogo watchdog operations" /> -->
+                    <!-- <param argument="-\-wcs" type="integer" min="0" optional="true" -->
+                    <!--        label="wcs N" help="start N workers on lib C wide char string functions" /> -->
+                    <!-- <param argument="-\-wcs-method" type="text" optional="true" -->
+                    <!--        label="wcs method func" help="specify the wide character string function to stress" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-wcs-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="wcs ops N" help="stop after N bogo wide character string operations" /> -->
+                    <!-- <param argument="-\-x86syscall" type="integer" min="0" optional="true" -->
+                    <!--        label="x86syscall N" help="start N workers exercising functions using syscall" /> -->
+                    <!-- <param argument="-\-x86syscall-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="x86syscall ops N" help="stop after N syscall function calls" /> -->
+                    <!-- <param argument="-\-x86syscall-func" type="text" optional="true" -->
+                    <!--        label="x86syscall func F" help="use just syscall function F" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-xattr" type="integer" min="0" optional="true" -->
+                    <!--        label="xattr N" help="start N workers stressing file extended attributes" /> -->
+                    <!-- <param argument="-\-xattr-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="xattr ops N" help="stop after N bogo xattr operations" /> -->
+                    <!-- <param argument="-\-yield" type="integer" min="0" optional="true" -->
+                    <!--        label="yield N" help="start N workers doing sched_yield() calls" /> -->
+                    <!-- <param argument="-\-yield-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="yield ops N" help="stop after N bogo yield operations" /> -->
+                    <!-- <param argument="-\-zero" type="integer" min="0" optional="true" -->
+                    <!--        label="zero N" help="start N workers reading /dev/zero" /> -->
+                    <!-- <param argument="-\-zero-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="zero ops N" help="stop after N /dev/zero bogo read operations" /> -->
+                    <!-- <param argument="-\-zlib" type="integer" min="0" optional="true" -->
+                    <!--        label="zlib N" help="start N workers compressing data with zlib" /> -->
+                    <!-- <param argument="-\-zlib-level" type="integer" min="0" max="9" optional="true" -->
+                    <!--        label="zlib level L" help="specify zlib compression level 0=fast, 9=best" /> -->
+                    <!-- <param argument="-\-zlib-mem-level" type="integer" min="1" max="9" optional="true" -->
+                    <!--        label="zlib mem level L" help="specify zlib compression state memory usage 1=minimum, 9=maximum" /> -->
+                    <!-- <param argument="-\-zlib-method" type="text" optional="true" -->
+                    <!--        label="zlib method M" help="specify zlib random data generation method M" > -->
+                    <!--     <expand macro="sanitize_function" /> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-zlib-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="zlib ops N" help="stop after N zlib bogo compression operations" /> -->
+                    <!-- <param argument="-\-zlib-strategy" type="select" optional="true" -->
+                    <!--        label="zlib strategy S" help="specify zlib strategy 0=default, 1=filtered, 2=huffman only, 3=rle, 4=fixed" > -->
+                    <!--     <option selected="true" value="0">default</option> -->
+                    <!--     <option value="1">filtered</option> -->
+                    <!--     <option value="2">huffman only</option> -->
+                    <!--     <option value="3">rle</option> -->
+                    <!--     <option value="4">fixed</option> -->
+                    <!-- </param> -->
+                    <!-- <param argument="-\-zlib-stream-bytes" type="integer" min="1" optional="true" -->
+                    <!--        label="zlib stream bytes S" help="specify the number of bytes to deflate until the current stream will be closed" /> -->
+                    <!-- <!-\- <param argument="-\\-zlib-window-bits W" type="" -\-> -->
+                    <!-- <!-\-        label="zlib window bits W" help="specify zlib window bits -8-(-15) | 8-15 | 24-31 | 40-47" /> -\-> -->
+                    <!-- <param argument="-\-zombie" type="integer" min="0" optional="true" -->
+                    <!--        label="zombie N" help="start N workers that rapidly create and reap zombies" /> -->
+                    <!-- <param argument="-\-zombie-ops" type="integer" min="0" optional="true" -->
+                    <!--        label="zombie ops N" help="stop after N bogo zombie fork operations" /> -->
+                    <!-- <param argument="-\-zombie-max" type="integer" min="0" optional="true" -->
+                    <!--        label="zombie max N" help="set upper limit of N zombies per worker" /> -->
+                </section>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="outfile" format="txt" label="${tool.name}" />
+    </outputs>
+    <tests>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="1" />
+                    <param name="cpu_load" value="1" />
+                    <param name="vm" value="1" />
+                    <param name="vm_bytes" value="4G" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="30s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="dispatching hogs: 1 cpu, 1 vm" />
+                    <has_text text="successful run completed in 3" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="1" />
+                    <param name="cpu_load" value="1" />
+                    <param name="memfd" value="1" />
+                    <param name="memfd_bytes" value="4G" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="30s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="dispatching hogs: 1 cpu" />
+                    <has_text_matching expression="successful run completed in 30.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <!-- example from default help text -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="8" />
+                    <param name="io" value="4" />
+                    <param name="vm" value="2" />
+                    <param name="vm_bytes" value="128M" />
+                    <param name="fork" value="4" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="10s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="dispatching hogs: 8 cpu, 4 fork, 4 io, 2 vm" />
+                    <has_text_matching expression="successful run completed in 10.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <!-- PASSED same as below but all options -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor">
+                    <param name="cpu" value="8" />
+                    <param name="io" value="4" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="10s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="dispatching hogs: 8 cpu, 4 io" />
+                    <has_text_matching expression="successful run completed in 10.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <!-- PASSED common options -->
+            <conditional name="options">
+                <param name="do" value="common" />
+                <param name="cpu" value="8" />
+                <param name="io" value="4" />
+                <param name="timeout" value="10s" />
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="dispatching hogs: 8 cpu, 4 io" />
+                    <has_text_matching expression="successful run completed in 10.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <!-- The following examples are taken from the PDF manual -->
+        <test expect_num_outputs="1" >
+            <!-- PASSED -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="vm" value="8" />
+                    <param name="vm_bytes" value="80%" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="10s" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text text="dispatching hogs: 8 vm" />
+                    <has_text_matching expression="successful run completed in 10.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <!-- PASSED -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="4" />
+                    <param name="io" value="2" />
+                    <param name="vm" value="1" />
+                    <param name="vm_bytes" value="1G" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="60s" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text text="dispatching hogs: 4 cpu, 2 io, 1 vm" />
+                    <has_text_matching expression="successful run completed in 60.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="iomix" value="2" />
+                    <param name="iomix_bytes" value="10%" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="1m" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text text="dispatching hogs: 2 iomix" />
+                    <has_text_matching expression="successful run completed in 60.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <!-- PASSED -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cyclic" value="1" />
+                    <param name="cyclic_dist" value="2500" />
+                    <param name="cyclic_method" value="usleep" />
+                    <param name="cyclic_prio" value="100" />
+                    <param name="cyclic_sleep" value="10000" />
+                    <param name="hdd" value="0" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="31s" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text_matching expression="dispatching hogs: [0-9]+ hdd" />
+                    <has_text text="successful" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="8" />
+                    <param name="cpu_ops" value="800000" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="30s" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text text="dispatching hogs: 8 cpu" />
+                    <has_text_matching expression="successful run completed in 30.[0-9]+s" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" ><!-- PASSEd -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="general" >
+                    <param name="sequential" value="3" />
+                    <param name="metrics" value="true" />
+                    <param name="timeout" value="30s" />
+                    <param name="exclude" value="access,af-alg,affinity,aio,aiol,atomic,bad-altstack,bigheap,branch,brk,bsearch,cache,cap,chattr,chdir,chmod,chown,clock,clone,close,context,copy-file,cpu,crypt,daemon,dccp,dentry,dev,dev-shm,dir,dirdeep,dnotify,dup,dynlib,enosys,env,epoll,eventfd,exec,fallocate,fault,fcntl,fiemap,fifo,file-ioctl,filename,flock,fork,fp-error,fstat,full,funccall,funcret,futex,get,getdent,getrandom,handle,hdd,heapsort,hrtimers,hsearch,icache,inode-flags,inotify,io,iomix,ioprio,io-uring,itimer,judy,kcmp,key,kill,lease,link,locka,lockbus,lockf,lockofd,longjmp,lsearch,madvise,malloc,matrix,matrix-3d,mcontend,membarrier,memcpy,memfd,memrate,memthrash,mergesort,mincore,mknod,mlock,mmap,mmapaddr,mmapfixed,mmapfork,mmapmany,mq,mremap,msg,msync,nanosleep,netdev,nice,nop,null,numa,opcode,open,personality,pidfd,ping-sock,pipe,pipeherd,pkey,poll,prctl,procfs,pthread,ptrace,pty,qsort,radixsort,rdrand,readahead,reboot,remap,rename,resources,revio,rlimit,rmap,rseq,rtc,schedpolicy,sctp,seal,secretmem,seek,sem,sem-sysv,sendfile,session,set,shellsort,shm,shm-sysv,sigabrt,sigchld,sigfd,sigfpe,sigio,signal,sigpending,sigpipe,sigq,sigrt,sigsegv,sigsuspend,sigtrap,skiplist,sleep,sock,sockabuse,sockdiag,sockfd,sockpair,sockmany,spawn,splice,stack,stackmmap,str,stream,switch,symlink,sync-file,sysbadaddr,sysinfo,sysfs,tee,timer,timerfd,tlb-shootdown,tmpfs,tree,tsc,tsearch,udp,udp-flood,unshare,urandom,userfaultfd,utime,vdso,vecmath,verity,vfork,vforkmany,vm,vm-addr,vm-rw,vm-segv,vm-splice,wait,wcs,x86syscall,xattr,yield" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text text="dispatching hogs: 3 fanotify, 3 seccomp, 3 zero, 3 zlib, 3 zombie" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" ><!-- PASSED -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="4" />
+                    <param name="cpu_method" value="fft" />
+                    <param name="cpu_ops" value="10000" />
+                </section>
+                <section name="general" >
+                    <param name="metrics_brief" value="true" />
+                    <param name="timeout" value="30s" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text_matching expression="dispatching hogs: [0-9]+ cpu" />
+                    <has_text text="successful run completed in" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="1" />
+                    <param name="cpu_method" value="all" />
+                    <param name="cpu_load" value="90" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="41s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="dispatching hogs: 1 cpu" />
+                    <has_text text="successful run completed in" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="0" />
+                    <param name="cpu_method" value="all" />
+                </section>
+                <section name="general" >
+                    <param name="timeout" value="50s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text_matching expression="dispatching hogs: [0-9]+ cpu" />
+                    <has_text text="successful run completed in" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <!-- very heavy job, run for 10 seconds only -->
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="general" >
+                    <param name="all" value="4" />
+                    <param name="timeout" value="10s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="successful run completed in " />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="general" >
+                    <param name="random" value="64" />
+                    <param name="timeout" value="30s" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="dispatching hogs: " /><!-- random each time -->
+                    <has_text text="successful run completed in" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="general" >
+                    <param name="class" value="io" />
+                    <param name="sequential" value="8" />
+                    <param name="timeout" value="3s" />
+                    <param name="times" value="true" />
+                </section>
+            </conditional>
+            <output name="outfile">
+                <assert_contents>
+                    <has_text text="successful run completed in" />
+                    <has_text text="available CPU time" />
+                    <has_text text="total time" />
+                    <has_text text="load average: " />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="general" >
+                    <param name="all" value="-1" />
+                    <param name="aggressive" value="true" />
+                    <param name="maximize" value="true" />
+                    <param name="timeout" value="5s" /><!-- super low -->
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <!-- terminates too fast by design -->
+                    <has_text text="successful run completed" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1" >
+            <conditional name="options">
+                <param name="do" value="all" />
+                <section name="stressor" >
+                    <param name="cpu" value="3" />
+                </section>
+                <section name="general" >
+                    <param name="taskset" value="0,0-1" />
+                    <param name="timeout" value="10s" />
+                </section>
+            </conditional>
+            <output name="outfile" >
+                <assert_contents>
+                    <has_text text="dispatching hogs:" />
+                    <has_text text="successful run completed in" />
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help>
+**Stress-NG**
+
+``stress-ng`` was originally intended to make a machine work hard and trip hardware
+issues such as thermal overruns as well as operating system bugs that only
+occur when a system is being thrashed hard. Use stress-ng with caution as some
+of the tests can make a system run hot on poorly designed hardware and also can
+cause excessive system thrashing which may be difficult to stop.
+
+stress-ng can also measure test throughput rates; this can be useful to observe
+performance changes across different operating system releases or types of
+hardware. However, it has never been intended to be used as a precise benchmark
+test suite, so do NOT use it in this manner.
+
+**Examples**
+
+stress−ng −−vm 8 −−vm−bytes 80% -t 1h
+
+   run 8 virtual memory stressors that combined use 80% of the available memory for 1 hour. Thus each stressor uses 10% of the available memory.
+
+stress−ng −−cpu 4 −−io 2 −−vm 1 −−vm−bytes 1G −−timeout 60s
+
+   runs  for  60  seconds  with  4  cpu  stressors,  2  io  stressors  and  1  vm  stressor  using  1GB  of  virtual memory.
+
+stress−ng −−iomix 2 −−iomix−bytes 10% -t 10m
+
+   runs 2 instances of the mixed I/O stressors using a total of 10% of the available file system spacefor 10 minutes. Each stressor will use 5% of the available file system space.
+
+stress−ng −−cyclic 1 −−cyclic−dist 2500 −−cyclic−method clock_ns −−cyclic−prio 100 −−cyclic−sleep 10000 −−hdd 0 -t 1m
+
+   measures real time scheduling latencies created by the hdd stressor.This uses the high resolution nanosecond  clock  to  measure  latencies  during  sleeps  of  10,000  nanoseconds.
+   At  the  end  of  1minute of stressing, the latency distribution with 2500 ns intervals will be displayed.
+
+   NOTE: this must be run with the ``CAP_SYS_NICE`` capability to enable the real time scheduling to get accurate measurements.
+
+stress−ng −−cpu 8 −−cpu−ops 800000
+
+   runs 8 cpu stressors and stops after 800000 bogo operations.
+
+stress−ng −−sequential 2 −−timeout 2m −−metrics
+
+   run  2  simultaneous  instances  of  all  the  stressors  sequentially  one  by  one,  each  for  2  minutes  andsummarise with performance metrics at the end.
+
+stress−ng −−cpu 4 −−cpu-method fft −−cpu-ops 10000 −−metrics−brief
+
+   run 4 FFT cpu stressors, stop after 10000 bogo operations and produce a summary just for the FFTresults.
+
+stress−ng −−cpu -1 −−cpu-method all −t 1h −−cpu−load 90
+
+   run  cpu  stressors  on  all  online  CPUs  working  through  all  the  available  CPU  stressors  for  1  hour, loading the CPUs at 90% load capacity.
+
+stress−ng −−cpu 0 −−cpu-method all −t 20m
+
+   run  cpu  stressors  on  all  configured  CPUs  working  through  all  the  available  CPU  stressors  for  20minutes
+
+stress−ng −−all 4 −−timeout 5m
+
+   run 4 instances of all the stressors for 5 minutes.
+
+stress−ng −−random 64
+
+   run 64 stressors that are randomly chosen from all the available stressors.
+
+stress−ng −−cpu 64 −−cpu−method all −−verify −t 10m −−metrics−brief
+
+   run 64 instances of all the different cpu stressors and verify that the computations are correct for 10 minutes with a bogo operations summary at the end.
+
+stress−ng −−sequential -1 −t 10m
+
+   run  all  the  stressors  one  by  one  for  10  minutes,  with  the  number  of  instances  of  each  stressor matching the number of online CPUs.
+
+stress−ng −−sequential 8 −−class io −t 5m −−times
+
+   run all the stressors in the io class one by one for 5 minutes each, with 8 instances of each stressor running concurrently and show overall time utilisation statistics at the end of the run.
+
+stress−ng −−all -1 −−maximize −−aggressive
+
+   run  all  the  stressors  (1  instance  of  each  per  online  CPU)  simultaneously,maximize  the  settings(memory sizes, file allocations, etc.) and select the most demanding/aggressive options.
+
+stress−ng −−random 32 −x numa,hdd,key
+
+   run 32 randomly selected stressors and exclude the numa, hdd and key stressors
+
+stress−ng −−sequential 4 −−class vm −−exclude bigheap,brk,stack
+
+   run  4  instances  of  the  VM  stressors  one  after  each  other, excluding  the  bigheap,  brk  and  stack stressors
+
+stress−ng −−taskset 0,2-3 −−cpu 3
+
+   run 3 instances of the CPU stressor and pin them to CPUs 0, 2 and 3.
+
+    </help>
+</tool>