Add ramp_time option
[fio.git] / README
diff --git a/README b/README
index cf48c018d66f45c4271020dc66b572254d6f468f..75553495205c5354397235da553a536b6583b9c9 100644 (file)
--- a/README
+++ b/README
@@ -50,12 +50,26 @@ Building
 --------
 
 Just type 'make' and 'make install'. If on FreeBSD, for now you have to
-specify the FreeBSD Makefile with -f, eg:
+specify the FreeBSD Makefile with -f and use gmake (not make), eg:
 
-$ make -f Makefile.Freebsd && make -f Makefile.FreeBSD install
+$ gmake -f Makefile.Freebsd && gmake -f Makefile.FreeBSD install
 
 Likewise with OpenSolaris, use the Makefile.solaris to compile there.
-This might change in the future if I opt for an autoconf type setup.
+The OpenSolaris make should work fine. This might change in the
+future if I opt for an autoconf type setup.
+
+If your compile fails with an error like this:
+
+    CC gettime.o
+In file included from fio.h:23,
+                 from gettime.c:8:
+os/os.h:15:20: error: libaio.h: No such file or directory
+In file included from gettime.c:8:
+fio.h:119: error: field 'iocb' has incomplete type
+make: *** [gettime.o] Error 1
+
+Check that you have the libaio development package installed. On RPM
+based distros, it's typically called libaio-devel.
 
 
 Command line
@@ -76,6 +90,7 @@ $ fio
        --eta=when      When ETA estimate should be printed
                        May be "always", "never" or "auto"
        --section=name  Only run specified section in job file
+       --alloc-size=kb Set smalloc pool to this size in kb (def 1024)
 
 
 Any parameters following the options will be assumed to be job files,
@@ -100,6 +115,9 @@ options in fio. Currently the options are:
        verify          Dump info related to IO verification
        all             Enable all debug options
        random          Dump info related to random offset generation
+       parse           Dump info related to option matching and parsing
+       diskutil        Dump info related to disk utilization updates
+       job:x           Dump info only related to job number x
        ? or help       Show available debug options.
 
 You can specify as many as you want, eg --debug=file,mem will enable
@@ -112,6 +130,12 @@ only by giving it a --section=heavy command line option. The section
 option only applies to job sections, the reserved 'global' section is
 always parsed and taken into account.
 
+Fio has an internal allocator for shared memory called smalloc. It
+allocates shared structures from this pool. The pool defaults to 1024k
+in size, and can grow to 32 pools. If running large jobs with randommap
+enabled it can run out of memory, in which case the --alloc-size switch
+is handy for starting with a larger pool size.
+
 
 Job file
 --------
@@ -144,12 +168,13 @@ The job file parameters are:
                        across runs, if 'x' is 1.
        size=x          Set file size to x bytes (x string can include k/m/g)
        ioengine=x      'x' may be: aio/libaio/linuxaio for Linux aio,
-                       posixaio for POSIX aio, sync for regular read/write io,
+                       posixaio for POSIX aio, solarisaio for Solaris
+                       native async IO, sync for regular read/write io,
                        psync for regular pread/pwrite io, vsync for regular
                        readv/writev (with queuing emulation) mmap for mmap'ed
                        io, syslet-rw for syslet driven read/write, splice for
-                       using splice/vmsplice, sgio for direct SG_IO io, net
-                       for network io, or cpuio for a cycler burner load. sgio
+                       using splice/vmsplice, sg for direct SG_IO io, net
+                       for network io, or cpuio for a cycler burner load. sg
                        only works on Linux on SCSI (or SCSI-like devices, such
                        as usb-storage or sata/libata driven) devices. Fio also
                        has a null io engine, which is mainly used for testing
@@ -193,6 +218,7 @@ The job file parameters are:
        verify=x        If 'x' == md5, use md5 for verifies. If 'x' == crc32,
                        use crc32 for verifies. md5 is 'safer', but crc32 is
                        a lot faster. Only makes sense for writing to a file.
+                       For other types of checksumming, see HOWTO.
        stonewall       Wait for preceeding jobs to end before running.
        numjobs=x       Create 'x' similar entries for this job
        thread          Use pthreads instead of forked jobs