diff options
author | ek110237 <none@none> | 2008-03-31 15:48:10 -0700 |
---|---|---|
committer | ek110237 <none@none> | 2008-03-31 15:48:10 -0700 |
commit | 0a482163dc221254a72290e01226e86b8d7952e3 (patch) | |
tree | 1ffdc55a0dae1623ce279d2402c9ac310fb5f0cc /usr/src | |
parent | a9425c256f95ea450cb0131519d422482f756e78 (diff) | |
download | illumos-joyent-0a482163dc221254a72290e01226e86b8d7952e3.tar.gz |
6624946 filemicro_* workloads need some love
6626167 go_filebench dumps a core with filereader
6639962 singlestreamwrite*.f should not mention filesize
Diffstat (limited to 'usr/src')
17 files changed, 193 insertions, 214 deletions
diff --git a/usr/src/cmd/filebench/common/filebench.h b/usr/src/cmd/filebench/common/filebench.h index b7e9a9e244..28d8198b1c 100644 --- a/usr/src/cmd/filebench/common/filebench.h +++ b/usr/src/cmd/filebench/common/filebench.h @@ -109,7 +109,7 @@ void filebench_shutdown(int error); #define MIN(x, y) ((x) < (y) ? (x) : (y)) #endif -#define FILEBENCH_VERSION "1.2.2" +#define FILEBENCH_VERSION "1.2.3" #define FILEBENCHDIR "/usr/benchmarks/filebench" #define FILEBENCH_PROMPT "filebench> " #define MAX_LINE_LEN 1024 diff --git a/usr/src/cmd/filebench/common/threadflow.c b/usr/src/cmd/filebench/common/threadflow.c index eb2e7ad665..041241de27 100644 --- a/usr/src/cmd/filebench/common/threadflow.c +++ b/usr/src/cmd/filebench/common/threadflow.c @@ -200,13 +200,13 @@ threadflow_init(procflow_t *procflow) (void) ipc_mutex_unlock(&filebench_shm->threadflow_lock); while (threadflow) { - void *status; - /* wait for all threads to finish */ - if (threadflow->tf_tid) - (void) pthread_join(threadflow->tf_tid, &status); + if (threadflow->tf_tid) { + void *status; - ret |= *(int *)status; + if (pthread_join(threadflow->tf_tid, &status) == 0) + ret += *(int *)status; + } threadflow = threadflow->tf_next; } diff --git a/usr/src/cmd/filebench/config/filemicro.prof b/usr/src/cmd/filebench/config/filemicro.prof index b498eff9b4..5a2b2b8f76 100644 --- a/usr/src/cmd/filebench/config/filemicro.prof +++ b/usr/src/cmd/filebench/config/filemicro.prof @@ -19,120 +19,74 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" DEFAULTS { - runtime = 3600; + runtime = 60; dir = /tmp; stats = /tmp; filesystem = tmpfs; description = "filemicro tmpfs"; } -CONFIG createfiles { - personality = createfiles; - function = generic; - nfiles = 1000; - dirwidth = 20; - filesize = 16k; - nthreads = 16; -} - -CONFIG copyfiles { - function = generic; - personality = copyfiles; - filesize = 16k; - nthreads = 16; - nfiles = 10000; - dirwidth = 20; -} - -CONFIG deletefiles { - function = generic; - personality = deletefiles; - filesize = 16k; - nthreads = 16; - nfiles = 50000; - meandirwidth = 20; -} - -CONFIG createandalloc128k { +CONFIG createandalloc { function = generic; personality = filemicro_create; - nthreads = 1; - iosize = 1m; - count = 64; - nfiles = 1000; } -CONFIG createallocsync { +CONFIG createandallocsync { function = generic; personality = filemicro_create; - nthreads = 1; - iosize = 1m; - count = 1k; - sync = 1; + sync = true; } CONFIG createallocfsync { function = generic; personality = filemicro_writefsync; - nthreads = 1; } CONFIG createallocappend { function = generic; personality = filemicro_createrand; - nthreads = 1; } CONFIG randread2k { function = generic; personality = filemicro_rread; - cached = 0; - iosize = 2k; } CONFIG randread2kcached { function = generic; personality = filemicro_rread; - cached = 1; - iosize = 2k; + cached = true; } CONFIG randwrite2ksync { function = generic; personality = filemicro_rwrite; - iosize = 2k; - nthreads = 1; - sync = 1; + sync = true; } CONFIG randwrite2ksync4thread { function = generic; personality = filemicro_rwrite; - iosize = 2k; nthreads = 4; - sync = 1; + sync = true; } CONFIG randwrite8kfsynccached { function = generic; personality = filemicro_rwritefsync; - iosize = 8k; - nthreads = 1; - cached = 1; + cached = true; } CONFIG seqread32k { function = generic; personality = filemicro_seqread; iosize = 32k; - nthreads = 1; - cached = 0; filesize = 100m; } @@ -140,48 +94,50 @@ CONFIG seqread32kcached { function = generic; personality = filemicro_seqread; iosize = 32k; - nthreads = 1; - cached = 1; filesize = 100m; + cached = true; } CONFIG seqwrite32k { function = generic; personality = filemicro_seqwrite; iosize = 32k; - count = 32k; - nthreads = 1; - cached = 0; - sync = 0; } CONFIG seqwrite32kdsync { function = generic; personality = filemicro_seqwrite; iosize = 32k; - count = 32k; - nthreads = 1; - cached = 0; - sync = 1; + sync = true; } CONFIG seqwriterand8k { function = generic; personality = filemicro_seqwriterand; - iosize = 8k; - count = 128k; - nthreads = 1; - cached = 0; - sync = 0; } CONFIG unlink1g { function = generic; personality = filemicro_delete; nthreads = 1; - filesize = 1g; - nfiles = 10; } +CONFIG createfiles { + function = generic; + personality = filemicro_createfiles; +} +CONFIG rwritedsync { + function = generic; + personality = filemicro_rwritedsync; +} +CONFIG filemicro_seqwriterandvargam { + function = generic; + personality = filemicro_seqwriterandvargam; +} + +CONFIG filemicro_seqwriterandvartab { + function = generic; + personality = filemicro_seqwriterandvartab; +} diff --git a/usr/src/cmd/filebench/workloads/filemicro_create.f b/usr/src/cmd/filebench/workloads/filemicro_create.f index 2c4a247f36..a3eed09e7b 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_create.f +++ b/usr/src/cmd/filebench/workloads/filemicro_create.f @@ -19,32 +19,35 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" +# Simple way to create a file. Start off with a zero length file, and issue +# 1024 ($count) 1MB appends. + set $dir=/tmp -set $nthreads=1 -set $iosize=1m set $count=1024 -set $sync=0 +set $iosize=1m +set $nthreads=1 +set $sync=false -define fileset name=bigfileset,path=$dir,size=0,entries=128,dirwidth=1024,prealloc=100 +define file name=largefile,path=$dir,size=0,prealloc define process name=filecreater,instances=1 { thread name=filecreaterthread,memsize=10m,instances=$nthreads { - flowop appendfile name=append-file,filesetname=bigfileset,dsync=$sync,iosize=$iosize,fd=1 + flowop appendfile name=append-file,filename=largefile,dsync=$sync,iosize=$iosize flowop finishoncount name=finish,value=$count } } -echo "FileMicro-Create Version 2.0 personality successfully loaded" +echo "FileMicro-Create Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$iosize=<size> defaults to $iosize" usage " set \$count=<value> defaults to $count" +usage " set \$iosize=<size> defaults to $iosize" usage " set \$nthreads=<value> defaults to $nthreads" usage " set \$sync=<bool> defaults to $sync" usage " " diff --git a/usr/src/cmd/filebench/workloads/filemicro_createfiles.f b/usr/src/cmd/filebench/workloads/filemicro_createfiles.f index 01490a3159..d5f4894f43 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_createfiles.f +++ b/usr/src/cmd/filebench/workloads/filemicro_createfiles.f @@ -19,18 +19,26 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" +# Creates a fileset with 20,000 entries ($nfiles), but only preallocates +# 50% of the files. Each file's size is set via a gamma distribution with +# a median size of 1KB ($filesize). +# +# The single thread then creates a new file and writes the whole file with +# 1MB I/Os. The thread stops after 5000 files ($count/num of flowops) have +been created and written to. + set $dir=/tmp -set $nfiles=20000 -set $meandirwidth=100000 +set $count=15000 set $filesize=1k set $iosize=1m +set $meandirwidth=100000 +set $nfiles=20000 set $nthreads=1 -set $count=5000 define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$meandirwidth,prealloc=50 @@ -45,12 +53,13 @@ define process name=filecreate,instances=1 } } -echo "FileMicro-Createfiles Version 2.1 personality successfully loaded" +echo "FileMicro-Createfiles Version 2.2 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$filesize=<size> defaults to $filesize" -usage " set \$iosize=<size> defaults to $iosize" -usage " set \$nfiles=<value> defaults to $nfiles" -usage " set \$count=<value> defaults to $count" -usage " set \$nthreads=<value> defaults to $nthreads" +usage " set \$count=<value> defaults to $count" +usage " set \$filesize=<size> defaults to $filesize" +usage " set \$iosize=<size> defaults to $iosize" +usage " set \$meandirwidth=<value> defaults to $meandirwidth" +usage " set \$nfiles=<value> defaults to $nfiles" +usage " set \$nthreads=<value> defaults to $nthreads" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/filemicro_createrand.f b/usr/src/cmd/filebench/workloads/filemicro_createrand.f index 01e8cb40ac..27ec833c1a 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_createrand.f +++ b/usr/src/cmd/filebench/workloads/filemicro_createrand.f @@ -19,41 +19,40 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" -# 3- open() and allocation of a 1GB file with write() -# of size picked uniformly in [1K,8K] range and issuing -# fsync() every 10MB. -# fm_create8k - +# Single threaded asynchronous ($sync) random appends (random I/Os +# in the range of [1B - 1MB]) to a 1GB file. +# Does a fsync after 10 ($iters) appends. +# Stops after 1GB ($bytes) has been appended/written. set $dir=/tmp -set $nthreads=1 -set $iosize=1m -set $count=1280 set $bytes=1g -set $sync=0 +set $iosize=1m +set $iters=10 +set $nthreads=1 +set $sync=false -define fileset name=bigfileset,path=$dir,size=0,entries=128,dirwidth=1024,prealloc=100 +define file name=largefile,path=$dir,size=0,prealloc define process name=filecreater,instances=1 { thread name=filecreaterthread,memsize=10m,instances=$nthreads { - flowop appendfilerand name=append-file,filesetname=bigfileset,dsync=$sync,iosize=$iosize,fd=1 - flowop fsync name=sync,fd=1 + flowop appendfilerand name=append-file,filename=largefile,dsync=$sync,iosize=$iosize,iters=$iters + flowop fsync name=sync flowop finishonbytes name=finish,value=$bytes } } -echo "FileMicro-CreateRand Version 2.0 personality successfully loaded" +echo "FileMicro-CreateRand Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$iosize=<size> defaults to $iosize" usage " set \$bytes=<value> defaults to $bytes" -usage " set \$count=<value> defaults to $count" +usage " set \$iosize=<size> defaults to $iosize" +usage " set \$iters=<value> defaults to $iters" usage " set \$nthreads=<value> defaults to $nthreads" usage " set \$sync=<bool> defaults to $sync" usage " " diff --git a/usr/src/cmd/filebench/workloads/filemicro_delete.f b/usr/src/cmd/filebench/workloads/filemicro_delete.f index 9019842da1..7fff4287c2 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_delete.f +++ b/usr/src/cmd/filebench/workloads/filemicro_delete.f @@ -24,18 +24,21 @@ # # ident "%Z%%M% %I% %E% SMI" -# delete 1000 files +# Create a fileset of 50,000 entries ($nfiles), where each file's size is set +# via a gamma distribution with the median size of 16KB ($filesize). +# Fire off 16 threads ($nthreads), where each thread stops after +# deleting 1000 ($count) files. set $dir=/tmp -set $nfiles=50000 -set $meandirwidth=100 +set $count=1000 set $filesize=16k +set $nfiles=5000 +set $meandirwidth=100 set $nthreads=16 -set $count=1000 set mode quit alldone -define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$meandirwidth,prealloc=100 +define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$meandirwidth,prealloc=100,paralloc define process name=filedelete,instances=1 { @@ -47,13 +50,13 @@ define process name=filedelete,instances=1 } } -echo "FileMicro-Delete Version 2.1 personality successfully loaded" +echo "FileMicro-Delete Version 2.2 personality successfully loaded" usage "Usage: set \$dir=<dir>" +usage " set \$count=<value> defaults to $count" usage " set \$filesize=<size> defaults to $filesize" usage " set \$nfiles=<value> defaults to $nfiles" -usage " set \$nthreads=<value> defaults to $nthreads" -usage " set \$count=<value> defaults to $count" usage " set \$meandirwidth=<size> defaults to $meandirwidth" +usage " set \$nthreads=<value> defaults to $nthreads" usage "(sets mean dir width and dir depth is calculated as log (width, nfiles)" usage " " usage " run" diff --git a/usr/src/cmd/filebench/workloads/filemicro_rread.f b/usr/src/cmd/filebench/workloads/filemicro_rread.f index 6d9b04c80f..d29e620532 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_rread.f +++ b/usr/src/cmd/filebench/workloads/filemicro_rread.f @@ -24,13 +24,16 @@ # # ident "%Z%%M% %I% %E% SMI" +# Single threaded random reads (2KB I/Os) on a 1GB file. +# Stops after 128MB ($bytes) has been read. + set $dir=/tmp -set $nthreads=1 -set $iosize=2k set $bytes=128m -set $iters=1 -set $filesize=1g set $cached=false +set $filesize=1g +set $iosize=2k +set $iters=1 +set $nthreads=1 define file name=bigfile1,path=$dir,size=$filesize,prealloc,reuse,cached=$cached @@ -43,11 +46,12 @@ define process name=filereader,instances=1 } } -echo "FileMicro-ReadRand Version 2.1 personality successfully loaded" +echo "FileMicro-ReadRand Version 2.2 personality successfully loaded" usage "Usage: set \$dir=<dir>" usage " set \$bytes=<value> defaults to $bytes" usage " set \$cached=<bool> defaults to $cached" usage " set \$filesize=<size> defaults to $filesize" +usage " set \$iters=<value> defaults to $iters" usage " set \$iosize=<size> defaults to $iosize" usage " set \$nthreads=<value> defaults to $nthreads" usage " " diff --git a/usr/src/cmd/filebench/workloads/filemicro_rwrite.f b/usr/src/cmd/filebench/workloads/filemicro_rwrite.f index 40ac003bff..ee3b10cd1d 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_rwrite.f +++ b/usr/src/cmd/filebench/workloads/filemicro_rwrite.f @@ -19,21 +19,22 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" -# 10- 128M worth of 2K write(2) (to random offset), open with -# O_DSYNC, uncached. +# Single threaded asynchronous ($sync) random writes (2KB I/Os) on a 1GB file. +# Stops when 128MB ($bytes) has been written. set $dir=/tmp -set $nthreads=1 -set $iosize=2k set $bytes=128m -set $iters=1 -set $cached=0 +set $cached=false set $filesize=1g +set $iosize=2k +set $iters=1 +set $nthreads=1 +set $sync=false define file name=bigfile1,path=$dir,size=$filesize,prealloc,reuse,cached=$cached @@ -41,17 +42,19 @@ define process name=filewriter,instances=1 { thread name=filewriterthread,memsize=10m,instances=$nthreads { - flowop write name=write-file,filename=bigfile1,random,dsync,iosize=$iosize,iters=$iters + flowop write name=write-file,filename=bigfile1,random,dsync=$sync,iosize=$iosize,iters=$iters flowop finishonbytes name=finish,value=$bytes } } -echo "FileMicro-WriteRandDsync Version 2.0 personality successfully loaded" +echo "FileMicro-WriteRand Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" +usage " set \$bytes=<value> defaults to $bytes" +usage " set \$cached=<bool> defaults to $cached" usage " set \$filesize=<size> defaults to $filesize" usage " set \$iosize=<size> defaults to $iosize" -usage " set \$bytes=<value> defaults to $bytes" -usage " set \$cached=<value> defaults to $cached" +usage " set \$iters=<value> defaults to $iters" usage " set \$nthreads=<value> defaults to $nthreads" +usage " set \$sync=<bool> defaults to $sync" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/filemicro_rwritedsync.f b/usr/src/cmd/filebench/workloads/filemicro_rwritedsync.f index 75d30b0c94..b4e48bace8 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_rwritedsync.f +++ b/usr/src/cmd/filebench/workloads/filemicro_rwritedsync.f @@ -19,37 +19,38 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" -# 128M worth of random 8K-aligned write(2) to a 1G file; followed by fsync(); cached. +# Single threaded synchronous (O_DSYNC) random writes (2KB I/Os) on a 1GB file. +# Stops when 64K ($count) writes have been done. set $dir=/tmp -set $nthreads=1 -set $iosize=2k set $count=65536 set $filesize=1g +set $iosize=2k set $iters=1 +set $nthreads=1 -define fileset name=bigfile,path=$dir,size=$filesize,entries=$nthreads,dirwidth=1024,prealloc +define file name=bigfile,path=$dir,size=$filesize,prealloc,reuse define process name=filewriter,instances=1 { thread name=filewriterthread,memsize=10m,instances=$nthreads { - flowop write name=write-file,filesetname=bigfile,random,dsync,iosize=$iosize,fd=1,iters=$iters + flowop write name=write-file,filename=bigfile,random,dsync,iosize=$iosize,iters=$iters flowop finishoncount name=finish,value=$count } } -echo "FileMicro-WriteRandFsync Version 2.0 personality successfully loaded" +echo "FileMicro-WriteRandDsync Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" +usage " set \$count=<value> defaults to $count" usage " set \$filesize=<size> defaults to $filesize" usage " set \$iosize=<size> defaults to $iosize" -usage " set \$count=<value> defaults to $count" -usage " set \$nthreads=<value> defaults to $nthreads" usage " set \$iters=<value> defaults to $iters" +usage " set \$nthreads=<value> defaults to $nthreads" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/filemicro_rwritefsync.f b/usr/src/cmd/filebench/workloads/filemicro_rwritefsync.f index ab4c2ab1dc..24d2766bdd 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_rwritefsync.f +++ b/usr/src/cmd/filebench/workloads/filemicro_rwritefsync.f @@ -19,38 +19,42 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" -# 128M worth of random 8K-aligned write(2) to a 1G file; followed by fsync(); cached. +# Single threaded asynchronous random writes (8KB I/Os) on a 1GB file. +# A fsync is issued after 16K ($iters) worth of writes. +# Stops after one ($count) fsync. set $dir=/tmp -set $nthreads=1 -set $iosize=8k +set $cached=false set $count=1 -set $iters=16384 set $filesize=1g -set $cached=0 +set $iosize=8k +set $iters=16384 +set $nthreads=1 -define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nthreads,dirwidth=1024,prealloc=100,cached=$cached +define file name=bigfile,path=$dir,size=$filesize,prealloc,cached=$cached define process name=filewriter,instances=1 { thread name=filewriterthread,memsize=10m,instances=$nthreads { - flowop write name=write-file,filesetname=bigfileset,random,iosize=$iosize,fd=1,iters=$iters - flowop fsync name=sync-file,fd=1 + flowop write name=write-file,filename=bigfile,random,iosize=$iosize,iters=$iters + flowop fsync name=sync-file flowop finishoncount name=finish,value=$count } } -echo "FileMicro-WriteRandFsync Version 2.0 personality successfully loaded" +echo "FileMicro-WriteRandFsync Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$iosize=<size> defaults to $iosize" +usage " set \$cached=<bool> defaults to $cached" usage " set \$count=<value> defaults to $count" +usage " set \$filesize=<size> defaults to $filesize" +usage " set \$iosize=<size> defaults to $iosize" +usage " set \$iters=<value> defaults to $iters" usage " set \$nthreads=<value> defaults to $nthreads" -usage " set \$cached=<value> defaults to $cached" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/filemicro_seqread.f b/usr/src/cmd/filebench/workloads/filemicro_seqread.f index 09f99daab5..f3ba0a4731 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_seqread.f +++ b/usr/src/cmd/filebench/workloads/filemicro_seqread.f @@ -19,35 +19,34 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" -# 4- Sequential read(32K) of a 1G file, cached -# 5- Sequential read(32K) of a 1G file, uncached +# Single threaded sequential reads (1MB I/Os) on a 1G file. set $dir=/tmp -set $nthreads=1 -set $iosize=1m +set $cached=false set $filesize=1g -set $cached=0 +set $iosize=1m +set $nthreads=1 -define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nthreads,dirwidth=1024,prealloc=100,cached=$cached +define file name=largefile,path=$dir,size=$filesize,prealloc,reuse,cached=$cached define process name=filereader,instances=1 { thread name=filereaderthread,memsize=10m,instances=$nthreads { - flowop read name=append-file,filesetname=bigfileset,iosize=$iosize,fd=1 + flowop read name=seqread-file,filename=largefile,iosize=$iosize } } -echo "FileMicro-SeqRead Version 2.0 personality successfully loaded" +echo "FileMicro-SeqRead Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$iosize=<size> defaults to $iosize" +usage " set \$cached=<bool> defaults to $cached" usage " set \$filesize=<size> defaults to $filesize" +usage " set \$iosize=<size> defaults to $iosize" usage " set \$nthreads=<value> defaults to $nthreads" -usage " set \$cached=<bool> defaults to $cached" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/filemicro_seqwrite.f b/usr/src/cmd/filebench/workloads/filemicro_seqwrite.f index 21accc9e33..54418161d3 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_seqwrite.f +++ b/usr/src/cmd/filebench/workloads/filemicro_seqwrite.f @@ -24,29 +24,29 @@ # # ident "%Z%%M% %I% %E% SMI" -# 4- Sequential write(32K) of a 1G file, cached -# 5- Sequential write(32K) of a 1G file, uncached +# Single threaded asynchronous ($sync) sequential writes (1MB I/Os) to +# a 1GB file. +# Stops after 1 series of 1024 ($count) writes has been done. set $dir=/tmp -set $cached=0 -set $count=1000 +set $cached=false +set $count=1024 set $iosize=1m set $nthreads=1 set $sync=false -define fileset name=bigfileset,path=$dir,size=0,entries=$nthreads,dirwidth=1024,prealloc=100,cached=$cached +define file name=bigfile,path=$dir,size=0,prealloc,cached=$cached define process name=filewriter,instances=1 { thread name=filewriterthread,memsize=10m,instances=$nthreads { - flowop appendfile name=write-file,dsync=$sync,filesetname=bigfileset,iosize=$iosize,fd=1,iters=$count - flowop closefile name=close,fd=1 + flowop appendfile name=write-file,dsync=$sync,filename=bigfile,iosize=$iosize,iters=$count flowop finishoncount name=finish,value=1 } } -echo "FileMicro-SeqWrite Version 2.1 personality successfully loaded" +echo "FileMicro-SeqWrite Version 2.2 personality successfully loaded" usage "Usage: set \$dir=<dir>" usage " set \$cached=<bool> defaults to $cached" usage " set \$count=<value> defaults to $count" diff --git a/usr/src/cmd/filebench/workloads/filemicro_seqwriterand.f b/usr/src/cmd/filebench/workloads/filemicro_seqwriterand.f index fe53c09f87..51327affcd 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_seqwriterand.f +++ b/usr/src/cmd/filebench/workloads/filemicro_seqwriterand.f @@ -19,41 +19,40 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" -# 7- Sequential write() of a 1G file, size picked uniformly in -# the [1K,8K] range, followed by close(), cached. - - +# Single threaded appends/writes (I/Os of random size in the range +# of [1B - 8KB]) to a 1GB file. +# Stops after 128K ($count) writes have been done. set $dir=/tmp -set $nthreads=1 -set $iosize=8k -set $cached=0 -set $sync=0 +set $cached=false set $count=128k +set $iosize=8k +set $nthreads=1 +set $sync=false -define fileset name=bigfileset,path=$dir,size=0,entries=$nthreads,dirwidth=1024,prealloc=100,cached=$cached +define file name=bigfile,path=$dir,size=0,prealloc,cached=$cached define process name=filewriter,instances=1 { thread name=filewriterthread,memsize=10m,instances=$nthreads { - flowop appendfilerand name=write-file,dsync=$sync,filesetname=bigfileset,iosize=$iosize,fd=1,iters=$count + flowop appendfilerand name=appendrand-file,dsync=$sync,filename=bigfile,iosize=$iosize,fd=1,iters=$count flowop closefile name=close,fd=1 flowop finishoncount name=finish,value=1 } } -echo "FileMicro-SeqWriteRand Version 2.0 personality successfully loaded" +echo "FileMicro-SeqWriteRand Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" +usage " set \$cached=<bool> defaults to $cached" +usage " set \$count=<bool> defaults to $count" usage " set \$iosize=<size> defaults to $iosize" usage " set \$nthreads=<value> defaults to $nthreads" -usage " set \$cached=<bool> defaults to $cached" -usage " set \$count=<bool> defaults to $cached" -usage " set \$sync=<bool> defaults to $cached" +usage " set \$sync=<bool> defaults to $sync" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/filemicro_writefsync.f b/usr/src/cmd/filebench/workloads/filemicro_writefsync.f index 93cd4cb74f..1b54c9c361 100644 --- a/usr/src/cmd/filebench/workloads/filemicro_writefsync.f +++ b/usr/src/cmd/filebench/workloads/filemicro_writefsync.f @@ -19,37 +19,38 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" -# 3- open() and allocation of a 1GB file with write() -# of size picked uniformly in [1K,8K] range and issuing -# fsync() every 10MB. +# Single threaded appends/writes (8KB I/Os) to a 1GB file. +# Each loop iteration does a fsync after 1250 ($iters) appends. +# Stops after 128K ($count) appends have been done. set $dir=/tmp -set $nthreads=1 -set $iosize=8k set $count=128k +set $iosize=8k set $iters=1250 +set $nthreads=1 -define fileset name=bigfileset,path=$dir,size=0,entries=128,dirwidth=1024,prealloc=100 +define file name=bigfile,path=$dir,size=0,prealloc define process name=filecreater,instances=1 { thread name=filecreaterthread,memsize=10m,instances=$nthreads { - flowop appendfile name=append-file,filesetname=bigfileset,iosize=$iosize,fd=1,iters=$iters - flowop fsync name=sync-file,fd=1 + flowop appendfile name=append-file,filename=bigfile,iosize=$iosize,iters=$iters + flowop fsync name=sync-file flowop finishoncount name=finish,value=$count } } -echo "FileMicro-WriteFsync Version 2.0 personality successfully loaded" +echo "FileMicro-WriteFsync Version 2.1 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$iosize=<size> defaults to $iosize" usage " set \$count=<value> defaults to $count" +usage " set \$iosize=<size> defaults to $iosize" +usage " set \$iters=<value> defaults to $iters" usage " set \$nthreads=<value> defaults to $nthreads" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/singlestreamwrite.f b/usr/src/cmd/filebench/workloads/singlestreamwrite.f index c8671cc53d..7ff39a4670 100644 --- a/usr/src/cmd/filebench/workloads/singlestreamwrite.f +++ b/usr/src/cmd/filebench/workloads/singlestreamwrite.f @@ -19,15 +19,15 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" set $dir=/tmp -set $nthreads=1 +set $directio=false set $iosize=1m -set $directio=0 +set $nthreads=1 define file name=largefile1,path=$dir,prealloc @@ -40,11 +40,10 @@ define process name=seqwrite,instances=1 } } -echo "Single Stream Write Version 2.1 personality successfully loaded" +echo "Single Stream Write Version 2.2 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$filesize=<size> defaults to $filesize" +usage " set \$directio=<bool> defaults to $directio" +usage " set \$iosize=<value> defaults to $iosize" usage " set \$nthreads=<value> defaults to $nthreads" -usage " set \$iosize=<value> defaults to $iosize" -usage " set \$directio=<value> defaults to $directio" usage " " usage " run runtime (e.g. run 60)" diff --git a/usr/src/cmd/filebench/workloads/singlestreamwritedirect.f b/usr/src/cmd/filebench/workloads/singlestreamwritedirect.f index 715f4a6b0b..26f4968dd4 100644 --- a/usr/src/cmd/filebench/workloads/singlestreamwritedirect.f +++ b/usr/src/cmd/filebench/workloads/singlestreamwritedirect.f @@ -19,14 +19,14 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" set $dir=/tmp -set $nthreads=1 set $iosize=1m +set $nthreads=1 define file name=largefile1,path=$dir,prealloc @@ -39,10 +39,9 @@ define process name=seqwrite,instances=1 } } -echo "Single Stream Write Version 2.1 personality successfully loaded" +echo "Single Stream Write Version 2.2 personality successfully loaded" usage "Usage: set \$dir=<dir>" -usage " set \$filesize=<size> defaults to $filesize" -usage " set \$nthreads=<value> defaults to $nthreads" usage " set \$iosize=<value> defaults to $iosize" +usage " set \$nthreads=<value> defaults to $nthreads" usage " " usage " run runtime (e.g. run 60)" |