[PATCH] Basic support for a cpu cycle eater job
[fio.git] / README
diff --git a/README b/README
index c951504eb52925c46678195d1783abd219ebf01f..359fc2d2f9bb977368c6d2460d13495256c563bf 100644 (file)
--- a/README
+++ b/README
@@ -46,8 +46,8 @@ $ fio
        -t <sec> Runtime in seconds
        -l Generate per-job latency logs
        -w Generate per-job bandwidth logs
-       -f <file> Read <file> for job descriptions
        -o <file> Log output to file
+       -m Minimal (terse) output
        -h Print help info
        -v Print version information and exit
 
@@ -101,7 +101,9 @@ The job file parameters are:
        cpumask=x       Only allow job to run on CPUs defined by mask.
        fsync=x         If writing, fsync after every x blocks have been written
        startdelay=x    Start this thread x seconds after startup
-       timeout=x       Terminate x seconds after startup
+       timeout=x       Terminate x seconds after startup. Can include a
+                       normal time suffix if not given in seconds, such as
+                       'm' for minutes, 'h' for hours, and 'd' for days.
        offset=x        Start io at offset x (x string can include k/m/g)
        invalidate=x    Invalidate page cache for file prior to doing io
        sync=x          Use sync writes if x and writing
@@ -140,6 +142,9 @@ The job file parameters are:
        exec_prerun=x   Run 'x' before job io is begun.
        exec_postrun=x  Run 'x' after job io has finished.
        ioscheduler=x   Use ioscheduler 'x' for this job.
+       cpuload=x       For a CPU io thread, percentage of CPU time to attempt
+                       to burn.
+       cpuchunks=x     Split burn cycles into pieces of x.
 
 
 Examples using a job file
@@ -303,14 +308,39 @@ util=             The disk utilization. A value of 100% means we kept the disk
                busy constantly, 50% would be a disk idling half of the time.
 
 
+Terse output
+------------
+
+For scripted usage where you typically want to generate tables or graphs
+of the results, fio can output the results in a comma seperated format.
+The format is one long line of values, such as:
+
+client1,0,0,936,331,2894,0,0,0.000000,0.000000,1,170,22.115385,34.290410,16,714,84.252874%,366.500000,566.417819,3496,1237,2894,0,0,0.000000,0.000000,0,246,6.671625,21.436952,0,2534,55.465300%,1406.600000,2008.044216,0.000000%,0.431928%,1109
+
+Split up, the format is as follows:
+
+       jobname, groupid, error
+       READ status:
+               KiB IO, bandwidth (KiB/sec), runtime (msec)
+               Submission latency: min, max, mean, deviation
+               Completion latency: min, max, mean, deviation
+               Bw: min, max, aggreate percentage of total, mean, deviation
+       WRITE status:
+               KiB IO, bandwidth (KiB/sec), runtime (msec)
+               Submission latency: min, max, mean, deviation
+               Completion latency: min, max, mean, deviation
+               Bw: min, max, aggreate percentage of total, mean, deviation
+       CPU usage: user, system, context switches
+
+
 Author
 ------
 
-Fio was written by Jens Axboe <axboe@suse.de> to enable flexible testing
+Fio was written by Jens Axboe <axboe@kernel.dk> to enable flexible testing
 of the Linux IO subsystem and schedulers. He got tired of writing
 specific test applications to simulate a given workload, and found that
 the existing io benchmark/test tools out there weren't flexible enough
 to do what he wanted.
 
-Jens Axboe <axboe@suse.de> 20060609
+Jens Axboe <axboe@kernel.dk> 20060905