view stress_ng.xml @ 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
line wrap: on
line source

<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>