clock: hardwire tsc as unreliable on Solaris for now
[fio.git] / README
diff --git a/README b/README
index c629e2dbb463e817e91a0c2e8c926e2fccd53222..97f1a28ab282c1d5aad26b86e525d14cd3884f39 100644 (file)
--- a/README
+++ b/README
@@ -114,6 +114,25 @@ build fio. To create an MSI installer package install WiX 3.6 from
 http://wix.sourceforge.net/releases/ and run dobuild.cmd from the
 os/windows directory.
 
+How to compile FIO on Windows 64 bits
+ 1. Install Cygwin - search for MinGW and install all MinGW packages.
+ 2. Download x86_64-w64-mingw32-gcc-4.7.2-release-win64_rubenvb.7z (http://sourceforge.net/projects/mingw-w64/files) - Select Toolchains targeting Win64 -> 
+    Personal Builds -> rubenv -> gcc-4.7-release
+ 3. Unzip the directory mingw64 to c:\ (c:\mingw64)
+ 4. Add to PATH - c:\mingw64\bin
+ 5. Copy c:\mingw64\bin\mingw32-make to c:\mingw64\bin\make.exe
+ 6. Download pthreads-20100604.zip (http://sourceforge.net/projects/mingw-w64/files) - Select External binary packages (Win64 hosted) -> pthreads
+ 7. Unzip pthreads-20100604.zip
+ 8. Unzip pthreads-w64.zip
+ 9. Copy pthreadGC2-w64.dll to c:\mingw64\bin
+10. Copy c:\mingw64\bin\pthreadGC2-w64.dll to c:\mingw64\bin\pthreadGC2.dll
+11. Open Cygwin Terminal
+12. Go to fio directory (source files)
+13. make clean
+14. ./configure
+15. make
+
 
 Command line
 ------------
@@ -125,9 +144,11 @@ $ fio
        --latency-log           Generate per-job latency logs
        --bandwidth-log         Generate per-job bandwidth logs
        --minimal               Minimal (terse) output
+       --output-format=type    Output format (terse,json,normal)
+       --terse-version=type    Terse version output format (default 3, or 2 or 4).
        --version               Print version info and exit
-       --terse-version=type    Terse version output format (default 3, or 2).
        --help                  Print this page
+       --cpuclock-test         Perform test/validation of CPU clock
        --cmdhelp=cmd           Print command help, "all" for all of them
        --enghelp=engine        Print ioengine help, or list available ioengines
        --enghelp=engine,cmd    Print help for an ioengine cmd
@@ -143,6 +164,9 @@ $ fio
        --max-jobs              Maximum number of threads/processes to support
        --server=args           Start backend server. See Client/Server section.
        --client=host           Connect to specified backend.
+       --idle-prof=option      Report cpu idleness on a system or percpu basis
+                               (option=system,percpu) or run unit work
+                               calibration only (option=calibrate).
 
 
 Any parameters following the options will be assumed to be job files,
@@ -232,10 +256,11 @@ The job file parameters are:
                        readv/writev (with queuing emulation) mmap for mmap'ed
                        io, syslet-rw for syslet driven read/write, splice for
                        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
+                       for network io, rdma for RDMA 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
                        fio itself.
 
        iodepth=x       For async io, allow 'x' ios in flight
@@ -254,6 +279,11 @@ The job file parameters are:
        ratecycle=x     ratemin averaged over x msecs
        cpumask=x       Only allow job to run on CPUs defined by mask.
        cpus_allowed=x  Like 'cpumask', but allow text setting of CPU affinity.
+       numa_cpu_nodes=x,y-z  Allow job to run on specified NUMA nodes' CPU.
+       numa_mem_policy=m:x,y-z  Setup numa memory allocation policy.
+                       'm' stands for policy, such as local, interleave,
+                       bind, prefer, local. 'x, y-z' are numa node(s) for
+                       memory allocation according to policy.
        fsync=x         If writing with buffered IO, fsync after every
                        'x' blocks have been written.
        end_fsync=x     If 'x', run fsync() after end-of-job.