15184Sek110237#
25184Sek110237# CDDL HEADER START
35184Sek110237#
45184Sek110237# The contents of this file are subject to the terms of the
55184Sek110237# Common Development and Distribution License (the "License").
65184Sek110237# You may not use this file except in compliance with the License.
75184Sek110237#
85184Sek110237# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
95184Sek110237# or http://www.opensolaris.org/os/licensing.
105184Sek110237# See the License for the specific language governing permissions
115184Sek110237# and limitations under the License.
125184Sek110237#
135184Sek110237# When distributing Covered Code, include this CDDL HEADER in each
145184Sek110237# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
155184Sek110237# If applicable, add the following below this CDDL HEADER, with the
165184Sek110237# fields enclosed by brackets "[]" replaced with your own identifying
175184Sek110237# information: Portions Copyright [yyyy] [name of copyright owner]
185184Sek110237#
195184Sek110237# CDDL HEADER END
205184Sek110237#
215184Sek110237#
22*6333Sek110237# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
235184Sek110237# Use is subject to license terms.
245184Sek110237#
255184Sek110237# ident	"%Z%%M%	%I%	%E% SMI"
265184Sek110237
27*6333Sek110237# Single threaded asynchronous random writes (8KB I/Os) on a 1GB file.
28*6333Sek110237# A fsync is issued after 16K ($iters) worth of writes.
29*6333Sek110237# Stops after one ($count) fsync.
305184Sek110237
315184Sek110237set $dir=/tmp
32*6333Sek110237set $cached=false
33*6333Sek110237set $count=1
34*6333Sek110237set $filesize=1g
355184Sek110237set $iosize=8k
365184Sek110237set $iters=16384
37*6333Sek110237set $nthreads=1
385184Sek110237
39*6333Sek110237define file name=bigfile,path=$dir,size=$filesize,prealloc,cached=$cached
405184Sek110237
415184Sek110237define process name=filewriter,instances=1
425184Sek110237{
435184Sek110237  thread name=filewriterthread,memsize=10m,instances=$nthreads
445184Sek110237  {
45*6333Sek110237    flowop write name=write-file,filename=bigfile,random,iosize=$iosize,iters=$iters
46*6333Sek110237    flowop fsync name=sync-file
475184Sek110237    flowop finishoncount name=finish,value=$count
485184Sek110237  }
495184Sek110237}
505184Sek110237
51*6333Sek110237echo  "FileMicro-WriteRandFsync Version 2.1 personality successfully loaded"
525184Sek110237usage "Usage: set \$dir=<dir>"
53*6333Sek110237usage "       set \$cached=<bool>    defaults to $cached"
54*6333Sek110237usage "       set \$count=<value>    defaults to $count"
55*6333Sek110237usage "       set \$filesize=<size>  defaults to $filesize"
565184Sek110237usage "       set \$iosize=<size>    defaults to $iosize"
57*6333Sek110237usage "       set \$iters=<value>    defaults to $iters"
585184Sek110237usage "       set \$nthreads=<value> defaults to $nthreads"
595184Sek110237usage " "
605184Sek110237usage "       run runtime (e.g. run 60)"
61