6624946 filemicro_* workloads need some love
6626167 go_filebench dumps a core with filereader
6639962 singlestreamwrite*.f should not mention filesize
--- a/usr/src/cmd/filebench/common/filebench.h Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/common/filebench.h Mon Mar 31 15:48:10 2008 -0700
@@ -109,7 +109,7 @@
#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
--- a/usr/src/cmd/filebench/common/threadflow.c Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/common/threadflow.c Mon Mar 31 15:48:10 2008 -0700
@@ -200,13 +200,13 @@
(void) ipc_mutex_unlock(&filebench_shm->threadflow_lock);
while (threadflow) {
- void *status;
+ /* wait for all threads to finish */
+ if (threadflow->tf_tid) {
+ void *status;
- /* wait for all threads to finish */
- if (threadflow->tf_tid)
- (void) pthread_join(threadflow->tf_tid, &status);
-
- ret |= *(int *)status;
+ if (pthread_join(threadflow->tf_tid, &status) == 0)
+ ret += *(int *)status;
+ }
threadflow = threadflow->tf_next;
}
--- a/usr/src/cmd/filebench/config/filemicro.prof Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/config/filemicro.prof Mon Mar 31 15:48:10 2008 -0700
@@ -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;
+CONFIG createandalloc {
function = generic;
- nfiles = 1000;
- dirwidth = 20;
- filesize = 16k;
- nthreads = 16;
-}
-
-CONFIG copyfiles {
- function = generic;
- personality = copyfiles;
- filesize = 16k;
- nthreads = 16;
- nfiles = 10000;
- dirwidth = 20;
+ personality = filemicro_create;
}
-CONFIG deletefiles {
- function = generic;
- personality = deletefiles;
- filesize = 16k;
- nthreads = 16;
- nfiles = 50000;
- meandirwidth = 20;
-}
-
-CONFIG createandalloc128k {
+CONFIG createandallocsync {
function = generic;
personality = filemicro_create;
- nthreads = 1;
- iosize = 1m;
- count = 64;
- nfiles = 1000;
-}
-
-CONFIG createallocsync {
- 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 @@
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;
+}
--- a/usr/src/cmd/filebench/workloads/filemicro_create.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_create.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 \$count=<value> defaults to $count"
usage " set \$iosize=<size> defaults to $iosize"
-usage " set \$count=<value> defaults to $count"
usage " set \$nthreads=<value> defaults to $nthreads"
usage " set \$sync=<bool> defaults to $sync"
usage " "
--- a/usr/src/cmd/filebench/workloads/filemicro_createfiles.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_createfiles.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 @@
}
}
-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)"
--- a/usr/src/cmd/filebench/workloads/filemicro_createrand.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_createrand.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 $bytes=1g
set $iosize=1m
-set $count=1280
-set $bytes=1g
-set $sync=0
+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 \$bytes=<value> defaults to $bytes"
usage " set \$iosize=<size> defaults to $iosize"
-usage " set \$bytes=<value> defaults to $bytes"
-usage " set \$count=<value> defaults to $count"
+usage " set \$iters=<value> defaults to $iters"
usage " set \$nthreads=<value> defaults to $nthreads"
usage " set \$sync=<bool> defaults to $sync"
usage " "
--- a/usr/src/cmd/filebench/workloads/filemicro_delete.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_delete.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 @@
}
}
-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 \$meandirwidth=<size> defaults to $meandirwidth"
usage " set \$nthreads=<value> defaults to $nthreads"
-usage " set \$count=<value> defaults to $count"
-usage " set \$meandirwidth=<size> defaults to $meandirwidth"
usage "(sets mean dir width and dir depth is calculated as log (width, nfiles)"
usage " "
usage " run"
--- a/usr/src/cmd/filebench/workloads/filemicro_rread.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_rread.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 $cached=false
set $filesize=1g
-set $cached=false
+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 @@
}
}
-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 " "
--- a/usr/src/cmd/filebench/workloads/filemicro_rwrite.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_rwrite.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 $bytes=128m
+set $cached=false
+set $filesize=1g
set $iosize=2k
-set $bytes=128m
set $iters=1
-set $cached=0
-set $filesize=1g
+set $nthreads=1
+set $sync=false
define file name=bigfile1,path=$dir,size=$filesize,prealloc,reuse,cached=$cached
@@ -41,17 +42,19 @@
{
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)"
--- a/usr/src/cmd/filebench/workloads/filemicro_rwritedsync.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_rwritedsync.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 \$iters=<value> defaults to $iters"
usage " set \$nthreads=<value> defaults to $nthreads"
-usage " set \$iters=<value> defaults to $iters"
usage " "
usage " run runtime (e.g. run 60)"
--- a/usr/src/cmd/filebench/workloads/filemicro_rwritefsync.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_rwritefsync.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 $cached=false
+set $count=1
+set $filesize=1g
set $iosize=8k
-set $count=1
set $iters=16384
-set $filesize=1g
-set $cached=0
+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 \$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 \$count=<value> defaults to $count"
+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)"
--- a/usr/src/cmd/filebench/workloads/filemicro_seqread.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_seqread.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 \$cached=<bool> defaults to $cached"
+usage " set \$filesize=<size> defaults to $filesize"
usage " set \$iosize=<size> defaults to $iosize"
-usage " set \$filesize=<size> defaults to $filesize"
usage " set \$nthreads=<value> defaults to $nthreads"
-usage " set \$cached=<bool> defaults to $cached"
usage " "
usage " run runtime (e.g. run 60)"
--- a/usr/src/cmd/filebench/workloads/filemicro_seqwrite.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_seqwrite.f Mon Mar 31 15:48:10 2008 -0700
@@ -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"
--- a/usr/src/cmd/filebench/workloads/filemicro_seqwriterand.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_seqwriterand.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 $cached=false
+set $count=128k
set $iosize=8k
-set $cached=0
-set $sync=0
-set $count=128k
+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)"
--- a/usr/src/cmd/filebench/workloads/filemicro_writefsync.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/filemicro_writefsync.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 $count=128k
set $iosize=8k
-set $count=128k
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 \$count=<value> defaults to $count"
usage " set \$iosize=<size> defaults to $iosize"
-usage " set \$count=<value> defaults to $count"
+usage " set \$iters=<value> defaults to $iters"
usage " set \$nthreads=<value> defaults to $nthreads"
usage " "
usage " run runtime (e.g. run 60)"
--- a/usr/src/cmd/filebench/workloads/singlestreamwrite.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/singlestreamwrite.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 @@
}
}
-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)"
--- a/usr/src/cmd/filebench/workloads/singlestreamwritedirect.f Mon Mar 31 15:38:47 2008 -0700
+++ b/usr/src/cmd/filebench/workloads/singlestreamwritedirect.f Mon Mar 31 15:48:10 2008 -0700
@@ -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 $iosize=1m
set $nthreads=1
-set $iosize=1m
define file name=largefile1,path=$dir,prealloc
@@ -39,10 +39,9 @@
}
}
-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 \$iosize=<value> defaults to $iosize"
usage " set \$nthreads=<value> defaults to $nthreads"
-usage " set \$iosize=<value> defaults to $iosize"
usage " "
usage " run runtime (e.g. run 60)"