| 1 | | #!/bin/sh |
| 2 | | # |
| 3 | | # |
| 4 | | # CDDL HEADER START |
| 5 | | # |
| 6 | | # The contents of this file are subject to the terms |
| 7 | | # of the Common Development and Distribution License |
| 8 | | # (the "License"). You may not use this file except |
| 9 | | # in compliance with the License. |
| 10 | | # |
| 11 | | # You can obtain a copy of the license at |
| 12 | | # src/OPENSOLARIS.LICENSE |
| 13 | | # or http://www.opensolaris.org/os/licensing. |
| 14 | | # See the License for the specific language governing |
| 15 | | # permissions and limitations under the License. |
| 16 | | # |
| 17 | | # When distributing Covered Code, include this CDDL |
| 18 | | # HEADER in each file and include the License file at |
| 19 | | # usr/src/OPENSOLARIS.LICENSE. If applicable, |
| 20 | | # add the following below this CDDL HEADER, with the |
| 21 | | # fields enclosed by brackets "[]" replaced with your |
| 22 | | # own identifying information: Portions Copyright [yyyy] |
| 23 | | # [name of copyright owner] |
| 24 | | # |
| 25 | | # CDDL HEADER END |
| 26 | | # |
| 27 | | |
| 28 | | # |
| 29 | | # Copyright 2007 Sun Microsystems, Inc. All rights reserved. |
| 30 | | # Use is subject to license terms. |
| 31 | | # |
| 32 | | |
| 33 | | bench_version=0.4.0 |
| 34 | | libmicro_version=`bin/tattle -V` |
| 35 | | |
| 36 | | case $libmicro_version in |
| 37 | | $bench_version) |
| 38 | | ;; |
| 39 | | *) |
| 40 | | echo "ERROR: libMicro version doesn't match 'bench' script version" |
| 41 | | exit 1 |
| 42 | | esac |
| 43 | | |
| 44 | | TMPROOT=/tmp/libmicro.$$ |
| 45 | | VARROOT=/var/tmp/libmicro.$$ |
| 46 | | mkdir -p $TMPROOT |
| 47 | | mkdir -p $VARROOT |
| 48 | | trap "rm -rf $TMPROOT $VARROOT" 0 2 |
| 49 | | |
| 50 | | TFILE=$TMPROOT/data |
| 51 | | IFILE=$TMPROOT/ifile |
| 52 | | TDIR1=$TMPROOT/0/1/2/3/4/5/6/7/8/9 |
| 53 | | TDIR2=$TMPROOT/1/2/3/4/5/6/7/8/9/0 |
| 54 | | VFILE=$VARROOT/data |
| 55 | | VDIR1=$VARROOT/0/1/2/3/4/5/6/7/8/9 |
| 56 | | VDIR2=$VARROOT/1/2/3/4/5/6/7/8/9/0 |
| 57 | | |
| 58 | | |
| 59 | | OPTS="-E -C 200 -L -S -W" |
| 60 | | |
| 61 | | dd if=/dev/zero of=$TFILE bs=1024k count=10 2>/dev/null |
| 62 | | dd if=/dev/zero of=$VFILE bs=1024k count=10 2>/dev/null |
| 63 | | mkdir -p $TDIR1 $TDIR2 |
| 64 | | mkdir -p $VDIR1 $VDIR2 |
| 65 | | |
| 66 | | touch $IFILE |
| 67 | | |
| 68 | | ARCH=`arch -k` |
| 69 | | |
| 70 | | # produce benchmark header for easier comparisons |
| 71 | | |
| 72 | | hostname=`uname -n` |
| 73 | | |
| 74 | | if [ -f /usr/sbin/psrinfo ]; then |
| 75 | | p_count=`psrinfo|wc -l` |
| 76 | | p_mhz=`psrinfo -v | awk '/operates/{print $6 "MHz"; exit }'` |
| 77 | | p_type=`psrinfo -vp 2>/dev/null | awk '{if (NR == 3) {print $0; exit}}'` |
| 78 | | fi |
| 79 | | |
| 80 | | if [ -f /proc/cpuinfo ]; then |
| 81 | | p_count=`egrep processor /proc/cpuinfo | wc -l` |
| 82 | | p_mhz=`awk -F: '/cpu MHz/{printf("%5.0f00Mhz\n",$2/100); exit}' /proc/cpuinfo` |
| 83 | | p_type=`awk -F: '/model name/{print $2; exit}' /proc/cpuinfo` |
| 84 | | fi |
| 85 | | |
| 86 | | printf "!Libmicro_#: %30s\n" $libmicro_version |
| 87 | | printf "!Options: %30s\n" "$OPTS" |
| 88 | | printf "!Machine_name: %30s\n" $hostname |
| 89 | | printf "!OS_name: %30s\n" `uname -s` |
| 90 | | printf "!OS_release: %30s\n" `uname -r` |
| 91 | | printf "!OS_build: %30.18s\n" "`uname -v`" |
| 92 | | printf "!Processor: %30s\n" `uname -m` |
| 93 | | printf "!#CPUs: %30s\n" $p_count |
| 94 | | printf "!CPU_MHz: %30s\n" $p_mhz |
| 95 | | printf "!CPU_NAME: %30s\n" "$p_type" |
| 96 | | printf "!IP_address: %30s\n" `getent hosts $hostname | awk '{print $1}'` |
| 97 | | printf "!Run_by: %30s\n" $LOGNAME |
| 98 | | printf "!Date: %30s\n" "`date '+%D %R'`" |
| 99 | | printf "!Compiler: %30s\n" `bin/tattle -c` |
| 100 | | printf "!Compiler Ver.:%30s\n" "`bin/tattle -v`" |
| 101 | | printf "!sizeof(long): %30s\n" `bin/tattle -s` |
| 102 | | printf "!extra_CFLAGS: %30s\n" "`bin/tattle -f`" |
| 103 | | printf "!TimerRes: %30s\n" "`bin/tattle -r`" |
| 104 | | |
| 105 | | mkdir -p $TMPROOT/bin |
| 106 | | cp bin-$ARCH/exec_bin $TMPROOT/bin/$A |
| 107 | | |
| 108 | | while read A B |
| 109 | | do |
| 110 | | # $A contains the command, $B contains the arguments |
| 111 | | # we echo blank lines and comments |
| 112 | | # we ship anything which fails to match *$1* (useful |
| 113 | | # if we only want to test one case, but a nasty hack) |
| 114 | | |
| 115 | | case $A in |
| 116 | | ""|"#"*) |
| 117 | | echo "$A $B" |
| 118 | | continue |
| 119 | | ;; |
| 120 | | *$1*) |
| 121 | | ;; |
| 122 | | *) |
| 123 | | continue |
| 124 | | esac |
| 125 | | |
| 126 | | if [ ! -f $TMPROOT/bin/$A ] |
| 127 | | then |
| 128 | | cp bin-$ARCH/$A $TMPROOT/bin/$A |
| 129 | | fi |
| 130 | | (cd $TMPROOT && eval "bin/$A $B") |
| 131 | | done <<. |
| 132 | | # |
| 133 | | # Obligatory null system call: use very short time |
| 134 | | # for default since SuSe implements this "syscall" in userland |
| 135 | | # |
| 136 | | getpid $OPTS -N "getpid" -I 5 |
| 137 | | |
| 138 | | getenv $OPTS -N "getenv" -s 100 -I 100 |
| 139 | | getenv $OPTS -N "getenvT2" -s 100 -I 100 -T 2 |
| 140 | | |
| 141 | | gettimeofday $OPTS -N "gettimeofday" |
| 142 | | |
| 143 | | log $OPTS -N "log" -I 20 |
| 144 | | exp $OPTS -N "exp" -I 20 |
| 145 | | lrand48 $OPTS -N "lrand48" |
| 146 | | |
| 147 | | memset $OPTS -N "memset_10" -s 10 -I 10 |
| 148 | | memset $OPTS -N "memset_256" -s 256 -I 20 |
| 149 | | memset $OPTS -N "memset_256_u" -s 256 -a 1 -I 20 |
| 150 | | memset $OPTS -N "memset_1k" -s 1k -I 100 |
| 151 | | memset $OPTS -N "memset_4k" -s 4k -I 250 |
| 152 | | memset $OPTS -N "memset_4k_uc" -s 4k -u -I 400 |
| 153 | | |
| 154 | | memset $OPTS -N "memset_10k" -s 10k -I 600 |
| 155 | | memset $OPTS -N "memset_1m" -s 1m -I 200000 |
| 156 | | memset $OPTS -N "memset_10m" -s 10m -I 2000000 |
| 157 | | memset $OPTS -N "memsetP2_10m" -s 10m -P 2 -I 2000000 |
| 158 | | |
| 159 | | memrand $OPTS -N "memrand" -s 128m -B 10000 |
| 160 | | cachetocache $OPTS -N "cachetocache" -s 100k -T 2 -I 200 |
| 161 | | |
| 162 | | isatty $OPTS -N "isatty_yes" |
| 163 | | isatty $OPTS -N "isatty_no" -f $IFILE |
| 164 | | |
| 165 | | malloc $OPTS -N "malloc_10" -s 10 -g 10 -I 50 |
| 166 | | malloc $OPTS -N "malloc_100" -s 100 -g 10 -I 50 |
| 167 | | malloc $OPTS -N "malloc_1k" -s 1k -g 10 -I 50 |
| 168 | | malloc $OPTS -N "malloc_10k" -s 10k -g 10 -I 50 |
| 169 | | malloc $OPTS -N "malloc_100k" -s 100k -g 10 -I 2000 |
| 170 | | |
| 171 | | malloc $OPTS -N "mallocT2_10" -s 10 -g 10 -T 2 -I 200 |
| 172 | | malloc $OPTS -N "mallocT2_100" -s 100 -g 10 -T 2 -I 200 |
| 173 | | malloc $OPTS -N "mallocT2_1k" -s 1k -g 10 -T 2 -I 200 |
| 174 | | malloc $OPTS -N "mallocT2_10k" -s 10k -g 10 -T 2 -I 200 |
| 175 | | malloc $OPTS -N "mallocT2_100k" -s 100k -g 10 -T 2 -I 10000 |
| 176 | | |
| 177 | | close $OPTS -N "close_bad" -B 32 -b |
| 178 | | close $OPTS -N "close_tmp" -B 32 -f $TFILE |
| 179 | | close $OPTS -N "close_usr" -B 32 -f $VFILE |
| 180 | | close $OPTS -N "close_zero" -B 32 -f /dev/zero |
| 181 | | |
| 182 | | memcpy $OPTS -N "memcpy_10" -s 10 -I 10 |
| 183 | | memcpy $OPTS -N "memcpy_1k" -s 1k -I 50 |
| 184 | | memcpy $OPTS -N "memcpy_10k" -s 10k -I 800 |
| 185 | | memcpy $OPTS -N "memcpy_1m" -s 1m -I 500000 |
| 186 | | memcpy $OPTS -N "memcpy_10m" -s 10m -I 5000000 |
| 187 | | |
| 188 | | strcpy $OPTS -N "strcpy_10" -s 10 -I 5 |
| 189 | | strcpy $OPTS -N "strcpy_1k" -s 1k -I 100 |
| 190 | | |
| 191 | | strlen $OPTS -N "strlen_10" -s 10 -I 5 |
| 192 | | strlen $OPTS -N "strlen_1k" -s 1k -I 100 |
| 193 | | |
| 194 | | strchr $OPTS -N "strchr_10" -s 10 -I 5 |
| 195 | | strchr $OPTS -N "strchr_1k" -s 1k -I 200 |
| 196 | | strcmp $OPTS -N "strcmp_10" -s 10 -I 10 |
| 197 | | strcmp $OPTS -N "strcmp_1k" -s 1k -I 200 |
| 198 | | |
| 199 | | strcasecmp $OPTS -N "scasecmp_10" -s 10 -I 50 |
| 200 | | strcasecmp $OPTS -N "scasecmp_1k" -s 1k -I 20000 |
| 201 | | |
| 202 | | strtol $OPTS -N "strtol" -I 20 |
| 203 | | |
| 204 | | getcontext $OPTS -N "getcontext" -I 100 |
| 205 | | setcontext $OPTS -N "setcontext" -I 100 |
| 206 | | |
| 207 | | mutex $OPTS -N "mutex_st" -I 10 |
| 208 | | mutex $OPTS -N "mutex_mt" -t -I 10 |
| 209 | | mutex $OPTS -N "mutex_T2" -T 2 -I 100 |
| 210 | | |
| 211 | | longjmp $OPTS -N "longjmp" -I 10 |
| 212 | | siglongjmp $OPTS -N "siglongjmp" -I 20 |
| 213 | | |
| 214 | | getrusage $OPTS -N "getrusage" -I 200 |
| 215 | | |
| 216 | | times $OPTS -N "times" -I 200 |
| 217 | | time $OPTS -N "time" -I 50 |
| 218 | | localtime_r $OPTS -N "localtime_r" -I 200 |
| 219 | | strftime $OPTS -N "strftime" -I 10000 |
| 220 | | |
| 221 | | mktime $OPTS -N "mktime" -I 500 |
| 222 | | mktime $OPTS -N "mktimeT2" -T 2 -I 1000 |
| 223 | | |
| 224 | | cascade_mutex $OPTS -N "c_mutex_1" -I 50 |
| 225 | | cascade_mutex $OPTS -N "c_mutex_10" -T 10 -I 5000 |
| 226 | | cascade_mutex $OPTS -N "c_mutex_200" -T 200 -I 2000000 |
| 227 | | |
| 228 | | cascade_cond $OPTS -N "c_cond_1" -I 100 |
| 229 | | cascade_cond $OPTS -N "c_cond_10" -T 10 -I 3000 |
| 230 | | cascade_cond $OPTS -N "c_cond_200" -T 200 -I 2000000 |
| 231 | | |
| 232 | | cascade_lockf $OPTS -N "c_lockf_1" -I 1000 |
| 233 | | cascade_lockf $OPTS -N "c_lockf_10" -P 10 -I 50000 |
| 234 | | cascade_lockf $OPTS -N "c_lockf_200" -P 200 -I 5000000 |
| 235 | | |
| 236 | | cascade_flock $OPTS -N "c_flock" -I 1000 |
| 237 | | cascade_flock $OPTS -N "c_flock_10" -P 10 -I 50000 |
| 238 | | cascade_flock $OPTS -N "c_flock_200" -P 200 -I 5000000 |
| 239 | | |
| 240 | | cascade_fcntl $OPTS -N "c_fcntl_1" -I 2000 |
| 241 | | cascade_fcntl $OPTS -N "c_fcntl_10" -P 10 -I 20000 |
| 242 | | cascade_fcntl $OPTS -N "c_fcntl_200" -P 200 -I 5000000 |
| 243 | | |
| 244 | | file_lock $OPTS -N "file_lock" -I 1000 |
| 245 | | |
| 246 | | getsockname $OPTS -N "getsockname" -I 100 |
| 247 | | getpeername $OPTS -N "getpeername" -I 100 |
| 248 | | |
| 249 | | chdir $OPTS -N "chdir_tmp" -I 2000 $TDIR1 $TDIR2 |
| 250 | | chdir $OPTS -N "chdir_usr" -I 2000 $VDIR1 $VDIR2 |
| 251 | | |
| 252 | | chdir $OPTS -N "chgetwd_tmp" -I 3000 -g $TDIR1 $TDIR2 |
| 253 | | chdir $OPTS -N "chgetwd_usr" -I 3000 -g $VDIR1 $VDIR2 |
| 254 | | |
| 255 | | realpath $OPTS -N "realpath_tmp" -I 3000 -f $TDIR1 |
| 256 | | realpath $OPTS -N "realpath_usr" -I 3000 -f $VDIR1 |
| 257 | | |
| 258 | | stat $OPTS -N "stat_tmp" -I 1000 -f $TFILE |
| 259 | | stat $OPTS -N "stat_usr" -I 1000 -f $VFILE |
| 260 | | |
| 261 | | fcntl $OPTS -N "fcntl_tmp" -I 100 -f $TFILE |
| 262 | | fcntl $OPTS -N "fcntl_usr" -I 100 -f $VFILE |
| 263 | | fcntl_ndelay $OPTS -N "fcntl_ndelay" -I 100 |
| 264 | | |
| 265 | | lseek $OPTS -N "lseek_t8k" -s 8k -I 50 -f $TFILE |
| 266 | | lseek $OPTS -N "lseek_u8k" -s 8k -I 50 -f $VFILE |
| 267 | | |
| 268 | | open $OPTS -N "open_tmp" -B 256 -f $TFILE |
| 269 | | open $OPTS -N "open_usr" -B 256 -f $VFILE |
| 270 | | open $OPTS -N "open_zero" -B 256 -f /dev/zero |
| 271 | | |
| 272 | | dup $OPTS -N "dup" -B 512 |
| 273 | | |
| 274 | | socket $OPTS -N "socket_u" -B 256 |
| 275 | | socket $OPTS -N "socket_i" -B 256 -f PF_INET |
| 276 | | |
| 277 | | socketpair $OPTS -N "socketpair" -B 256 |
| 278 | | |
| 279 | | setsockopt $OPTS -N "setsockopt" -I 200 |
| 280 | | |
| 281 | | bind $OPTS -N "bind" -B 100 |
| 282 | | |
| 283 | | listen $OPTS -N "listen" -B 100 |
| 284 | | |
| 285 | | connection $OPTS -N "connection" -B 256 |
| 286 | | |
| 287 | | poll $OPTS -N "poll_10" -n 10 -I 500 |
| 288 | | poll $OPTS -N "poll_100" -n 100 -I 1000 |
| 289 | | poll $OPTS -N "poll_1000" -n 1000 -I 5000 |
| 290 | | |
| 291 | | poll $OPTS -N "poll_w10" -n 10 -I 500 -w 1 |
| 292 | | poll $OPTS -N "poll_w100" -n 100 -I 2000 -w 10 |
| 293 | | poll $OPTS -N "poll_w1000" -n 1000 -I 40000 -w 100 |
| 294 | | |
| 295 | | select $OPTS -N "select_10" -n 10 -I 500 |
| 296 | | select $OPTS -N "select_100" -n 100 -I 1000 |
| 297 | | select $OPTS -N "select_1000" -n 1000 -I 5000 |
| 298 | | |
| 299 | | select $OPTS -N "select_w10" -n 10 -I 500 -w 1 |
| 300 | | select $OPTS -N "select_w100" -n 100 -I 2000 -w 10 |
| 301 | | select $OPTS -N "select_w1000" -n 1000 -I 40000 -w 100 |
| 302 | | |
| 303 | | semop $OPTS -N "semop" -I 200 |
| 304 | | |
| 305 | | sigaction $OPTS -N "sigaction" -I 100 |
| 306 | | signal $OPTS -N "signal" -I 1000 |
| 307 | | sigprocmask $OPTS -N "sigprocmask" -I 200 |
| 308 | | |
| 309 | | pthread_create $OPTS -N "pthread_8" -B 8 |
| 310 | | pthread_create $OPTS -N "pthread_32" -B 32 |
| 311 | | pthread_create $OPTS -N "pthread_128" -B 128 |
| 312 | | pthread_create $OPTS -N "pthread_512" -B 512 |
| 313 | | |
| 314 | | fork $OPTS -N "fork_10" -B 10 |
| 315 | | fork $OPTS -N "fork_100" -B 100 -C 100 |
| 316 | | fork $OPTS -N "fork_1000" -B 1000 -C 50 |
| 317 | | |
| 318 | | exit $OPTS -N "exit_10" -B 10 |
| 319 | | exit $OPTS -N "exit_100" -B 100 |
| 320 | | exit $OPTS -N "exit_1000" -B 1000 -C 50 |
| 321 | | |
| 322 | | exit $OPTS -N "exit_10_nolibc" -e -B 10 |
| 323 | | |
| 324 | | exec $OPTS -N "exec" -B 10 |
| 325 | | |
| 326 | | system $OPTS -N "system" -I 1000000 |
| 327 | | |
| 328 | | recurse $OPTS -N "recurse" -B 512 |
| 329 | | |
| 330 | | read $OPTS -N "read_t1k" -s 1k -f $TFILE |
| 331 | | read $OPTS -N "read_t10k" -s 10k -f $TFILE |
| 332 | | read $OPTS -N "read_t100k" -s 100k -f $TFILE |
| 333 | | |
| 334 | | read $OPTS -N "read_u1k" -s 1k -f $VFILE |
| 335 | | read $OPTS -N "read_u10k" -s 10k -f $VFILE |
| 336 | | read $OPTS -N "read_u100k" -s 100k -f $VFILE |
| 337 | | |
| 338 | | read $OPTS -N "read_z1k" -s 1k -f /dev/zero |
| 339 | | read $OPTS -N "read_z10k" -s 10k -f /dev/zero |
| 340 | | read $OPTS -N "read_z100k" -s 100k -f /dev/zero |
| 341 | | read $OPTS -N "read_zw100k" -s 100k -w -f /dev/zero |
| 342 | | |
| 343 | | write $OPTS -N "write_t1k" -s 1k -f $TFILE |
| 344 | | write $OPTS -N "write_t10k" -s 10k -f $TFILE |
| 345 | | write $OPTS -N "write_t100k" -s 100k -f $TFILE |
| 346 | | |
| 347 | | write $OPTS -N "write_u1k" -s 1k -f $VFILE |
| 348 | | write $OPTS -N "write_u10k" -s 10k -f $VFILE |
| 349 | | write $OPTS -N "write_u100k" -s 100k -f $VFILE |
| 350 | | |
| 351 | | write $OPTS -N "write_n1k" -s 1k -I 100 -B 0 -f /dev/null |
| 352 | | write $OPTS -N "write_n10k" -s 10k -I 100 -B 0 -f /dev/null |
| 353 | | write $OPTS -N "write_n100k" -s 100k -I 100 -B 0 -f /dev/null |
| 354 | | |
| 355 | | writev $OPTS -N "writev_t1k" -s 1k -f $TFILE |
| 356 | | writev $OPTS -N "writev_t10k" -s 10k -f $TFILE |
| 357 | | writev $OPTS -N "writev_t100k" -s 100k -f $TFILE |
| 358 | | |
| 359 | | writev $OPTS -N "writev_u1k" -s 1k -f $VFILE |
| 360 | | writev $OPTS -N "writev_u10k" -s 10k -f $VFILE |
| 361 | | writev $OPTS -N "writev_u100k" -s 100k -f $VFILE |
| 362 | | |
| 363 | | writev $OPTS -N "writev_n1k" -s 1k -I 100 -B 0 -f /dev/null |
| 364 | | writev $OPTS -N "writev_n10k" -s 10k -I 100 -B 0 -f /dev/null |
| 365 | | writev $OPTS -N "writev_n100k" -s 100k -I 100 -B 0 -f /dev/null |
| 366 | | |
| 367 | | pread $OPTS -N "pread_t1k" -s 1k -I 300 -f $TFILE |
| 368 | | pread $OPTS -N "pread_t10k" -s 10k -I 1000 -f $TFILE |
| 369 | | pread $OPTS -N "pread_t100k" -s 100k -I 10000 -f $TFILE |
| 370 | | |
| 371 | | pread $OPTS -N "pread_u1k" -s 1k -I 300 -f $VFILE |
| 372 | | pread $OPTS -N "pread_u10k" -s 10k -I 1000 -f $VFILE |
| 373 | | pread $OPTS -N "pread_u100k" -s 100k -I 10000 -f $VFILE |
| 374 | | |
| 375 | | pread $OPTS -N "pread_z1k" -s 1k -I 300 -f /dev/zero |
| 376 | | pread $OPTS -N "pread_z10k" -s 10k -I 1000 -f /dev/zero |
| 377 | | pread $OPTS -N "pread_z100k" -s 100k -I 2000 -f /dev/zero |
| 378 | | pread $OPTS -N "pread_zw100k" -s 100k -w -I 10000 -f /dev/zero |
| 379 | | |
| 380 | | pwrite $OPTS -N "pwrite_t1k" -s 1k -I 500 -f $TFILE |
| 381 | | pwrite $OPTS -N "pwrite_t10k" -s 10k -I 1000 -f $TFILE |
| 382 | | pwrite $OPTS -N "pwrite_t100k" -s 100k -I 10000 -f $TFILE |
| 383 | | |
| 384 | | pwrite $OPTS -N "pwrite_u1k" -s 1k -I 500 -f $VFILE |
| 385 | | pwrite $OPTS -N "pwrite_u10k" -s 10k -I 1000 -f $VFILE |
| 386 | | pwrite $OPTS -N "pwrite_u100k" -s 100k -I 20000 -f $VFILE |
| 387 | | |
| 388 | | pwrite $OPTS -N "pwrite_n1k" -s 1k -I 100 -f /dev/null |
| 389 | | pwrite $OPTS -N "pwrite_n10k" -s 10k -I 100 -f /dev/null |
| 390 | | pwrite $OPTS -N "pwrite_n100k" -s 100k -I 100 -f /dev/null |
| 391 | | |
| 392 | | mmap $OPTS -N "mmap_z8k" -l 8k -I 1000 -f /dev/zero |
| 393 | | mmap $OPTS -N "mmap_z128k" -l 128k -I 2000 -f /dev/zero |
| 394 | | mmap $OPTS -N "mmap_t8k" -l 8k -I 1000 -f $TFILE |
| 395 | | mmap $OPTS -N "mmap_t128k" -l 128k -I 1000 -f $TFILE |
| 396 | | mmap $OPTS -N "mmap_u8k" -l 8k -I 1000 -f $VFILE |
| 397 | | mmap $OPTS -N "mmap_u128k" -l 128k -I 1000 -f $VFILE |
| 398 | | mmap $OPTS -N "mmap_a8k" -l 8k -I 200 -f MAP_ANON |
| 399 | | mmap $OPTS -N "mmap_a128k" -l 128k -I 200 -f MAP_ANON |
| 400 | | |
| 401 | | |
| 402 | | mmap $OPTS -N "mmap_rz8k" -l 8k -I 2000 -r -f /dev/zero |
| 403 | | mmap $OPTS -N "mmap_rz128k" -l 128k -I 2000 -r -f /dev/zero |
| 404 | | mmap $OPTS -N "mmap_rt8k" -l 8k -I 2000 -r -f $TFILE |
| 405 | | mmap $OPTS -N "mmap_rt128k" -l 128k -I 20000 -r -f $TFILE |
| 406 | | mmap $OPTS -N "mmap_ru8k" -l 8k -I 2000 -r -f $VFILE |
| 407 | | mmap $OPTS -N "mmap_ru128k" -l 128k -I 20000 -r -f $VFILE |
| 408 | | mmap $OPTS -N "mmap_ra8k" -l 8k -I 2000 -r -f MAP_ANON |
| 409 | | mmap $OPTS -N "mmap_ra128k" -l 128k -I 20000 -r -f MAP_ANON |
| 410 | | |
| 411 | | mmap $OPTS -N "mmap_wz8k" -l 8k -I 5000 -w -f /dev/zero |
| 412 | | mmap $OPTS -N "mmap_wz128k" -l 128k -I 50000 -w -f /dev/zero |
| 413 | | mmap $OPTS -N "mmap_wt8k" -l 8k -I 5000 -w -f $TFILE |
| 414 | | mmap $OPTS -N "mmap_wt128k" -l 128k -I 50000 -w -f $TFILE |
| 415 | | mmap $OPTS -N "mmap_wu8k" -l 8k -I 5000 -w -f $VFILE |
| 416 | | mmap $OPTS -N "mmap_wu128k" -l 128k -I 500000 -w -f $VFILE |
| 417 | | mmap $OPTS -N "mmap_wa8k" -l 8k -I 3000 -w -f MAP_ANON |
| 418 | | mmap $OPTS -N "mmap_wa128k" -l 128k -I 50000 -w -f MAP_ANON |
| 419 | | |
| 420 | | munmap $OPTS -N "unmap_z8k" -l 8k -I 500 -f /dev/zero |
| 421 | | munmap $OPTS -N "unmap_z128k" -l 128k -I 500 -f /dev/zero |
| 422 | | munmap $OPTS -N "unmap_t8k" -l 8k -I 500 -f $TFILE |
| 423 | | munmap $OPTS -N "unmap_t128k" -l 128k -I 500 -f $TFILE |
| 424 | | munmap $OPTS -N "unmap_u8k" -l 8k -I 500 -f $VFILE |
| 425 | | munmap $OPTS -N "unmap_u128k" -l 128k -I 500 -f $VFILE |
| 426 | | munmap $OPTS -N "unmap_a8k" -l 8k -I 500 -f MAP_ANON |
| 427 | | munmap $OPTS -N "unmap_a128k" -l 128k -I 500 -f MAP_ANON |
| 428 | | |
| 429 | | munmap $OPTS -N "unmap_rz8k" -l 8k -I 1000 -r -f /dev/zero |
| 430 | | munmap $OPTS -N "unmap_rz128k" -l 128k -I 2000 -r -f /dev/zero |
| 431 | | munmap $OPTS -N "unmap_rt8k" -l 8k -I 1000 -r -f $TFILE |
| 432 | | munmap $OPTS -N "unmap_rt128k" -l 128k -I 3000 -r -f $TFILE |
| 433 | | munmap $OPTS -N "unmap_ru8k" -l 8k -I 1000 -r -f $VFILE |
| 434 | | munmap $OPTS -N "unmap_ru128k" -l 128k -I 3000 -r -f $VFILE |
| 435 | | munmap $OPTS -N "unmap_ra8k" -l 8k -I 1000 -r -f MAP_ANON |
| 436 | | munmap $OPTS -N "unmap_ra128k" -l 128k -I 2000 -r -f MAP_ANON |
| 437 | | |
| 438 | | connection $OPTS -N "conn_connect" -B 256 -c |
| 439 | | |
| 440 | | munmap $OPTS -N "unmap_wz8k" -l 8k -I 1000 -w -f /dev/zero |
| 441 | | munmap $OPTS -N "unmap_wz128k" -l 128k -I 8000 -w -f /dev/zero |
| 442 | | munmap $OPTS -N "unmap_wt8k" -l 8k -I 1000 -w -f $TFILE |
| 443 | | munmap $OPTS -N "unmap_wt128k" -l 128k -I 10000 -w -f $TFILE |
| 444 | | munmap $OPTS -N "unmap_wu8k" -l 8k -I 1000 -w -f $VFILE |
| 445 | | munmap $OPTS -N "unmap_wu128k" -l 128k -I 50000 -w -f $VFILE |
| 446 | | munmap $OPTS -N "unmap_wa8k" -l 8k -I 1000 -w -f MAP_ANON |
| 447 | | munmap $OPTS -N "unmap_wa128k" -l 128k -I 10000 -w -f MAP_ANON |
| 448 | | |
| 449 | | |
| 450 | | mprotect $OPTS -N "mprot_z8k" -l 8k -I 300 -f /dev/zero |
| 451 | | mprotect $OPTS -N "mprot_z128k" -l 128k -I 500 -f /dev/zero |
| 452 | | mprotect $OPTS -N "mprot_wz8k" -l 8k -I 500 -w -f /dev/zero |
| 453 | | mprotect $OPTS -N "mprot_wz128k" -l 128k -I 1000 -w -f /dev/zero |
| 454 | | mprotect $OPTS -N "mprot_twz8k" -l 8k -I 1000 -w -t -f /dev/zero |
| 455 | | mprotect $OPTS -N "mprot_tw128k" -l 128k -I 2000 -w -t -f /dev/zero |
| 456 | | mprotect $OPTS -N "mprot_tw4m" -l 4m -w -t -B 1 -f /dev/zero |
| 457 | | |
| 458 | | pipe $OPTS -N "pipe_pst1" -s 1 -I 1000 -x pipe -m st |
| 459 | | pipe $OPTS -N "pipe_pmt1" -s 1 -I 8000 -x pipe -m mt |
| 460 | | pipe $OPTS -N "pipe_pmp1" -s 1 -I 8000 -x pipe -m mp |
| 461 | | pipe $OPTS -N "pipe_pst4k" -s 4k -I 1000 -x pipe -m st |
| 462 | | pipe $OPTS -N "pipe_pmt4k" -s 4k -I 8000 -x pipe -m mt |
| 463 | | pipe $OPTS -N "pipe_pmp4k" -s 4k -I 8000 -x pipe -m mp |
| 464 | | |
| 465 | | pipe $OPTS -N "pipe_sst1" -s 1 -I 1000 -x sock -m st |
| 466 | | pipe $OPTS -N "pipe_smt1" -s 1 -I 8000 -x sock -m mt |
| 467 | | pipe $OPTS -N "pipe_smp1" -s 1 -I 8000 -x sock -m mp |
| 468 | | pipe $OPTS -N "pipe_sst4k" -s 4k -I 1000 -x sock -m st |
| 469 | | pipe $OPTS -N "pipe_smt4k" -s 4k -I 8000 -x sock -m mt |
| 470 | | pipe $OPTS -N "pipe_smp4k" -s 4k -I 8000 -x sock -m mp |
| 471 | | |
| 472 | | pipe $OPTS -N "pipe_tst1" -s 1 -I 1000 -x tcp -m st |
| 473 | | pipe $OPTS -N "pipe_tmt1" -s 1 -I 8000 -x tcp -m mt |
| 474 | | pipe $OPTS -N "pipe_tmp1" -s 1 -I 8000 -x tcp -m mp |
| 475 | | pipe $OPTS -N "pipe_tst4k" -s 4k -I 1000 -x tcp -m st |
| 476 | | pipe $OPTS -N "pipe_tmt4k" -s 4k -I 8000 -x tcp -m mt |
| 477 | | pipe $OPTS -N "pipe_tmp4k" -s 4k -I 8000 -x tcp -m mp |
| 478 | | |
| 479 | | connection $OPTS -N "conn_accept" -B 256 -a |
| 480 | | |
| 481 | | close_tcp $OPTS -N "close_tcp" -B 32 |
| 482 | | . |