Update the Windows section of the README file.
[fio.git] / README
diff --git a/README b/README
index c21fb6a97c6e37b3a0d5c37a0d21160da450425e..4c7b542a8ecf4688b139aaf488225eeac26228db 100644 (file)
--- a/README
+++ b/README
@@ -109,11 +109,22 @@ based distros, it's typically called libaio-devel.
 Windows
 -------
 
-On Windows MinGW (http://www.mingw.org/) is required in order to
-build fio. To create an MSI installer package install WiX 3.6 from
-http://wix.sourceforge.net/releases/ and run dobuild.cmd from the
+On Windows Cygwin (http://www.cygwin.com/) is required in order to
+build fio. To create an MSI installer package install WiX 3.7 from
+http://wixtoolset.org and run dobuild.cmd from the
 os/windows directory.
 
+How to compile FIO on 64-bit Windows:
+
+ 1. Install Cygwin (http://www.cygwin.com/setup.exe). Install 'make' and all
+    packages starting with 'mingw64-i686' and 'mingw64-x86_64'.
+ 2. Download ftp://sourceware.org/pub/pthreads-win32/prebuilt-dll-2-9-1-release/dll/x64/pthreadGC2.dll
+    and copy to the fio source directory.
+ 3. Open the Cygwin Terminal.
+ 4. Go to the fio directory (source files).
+ 5. Run 'make clean'.
+ 6. Run 'make'.
+
 
 Command line
 ------------
@@ -121,13 +132,15 @@ Command line
 $ fio
        --debug                 Enable some debugging options (see below)
        --output                Write output to file
-       --timeout               Runtime in seconds
+       --runtime               Runtime in seconds
        --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
@@ -138,11 +151,14 @@ $ fio
                                May be "always", "never" or "auto"
        --section=name          Only run specified section in job file.
                                Multiple sections can be specified.
-       --alloc-size=kb Set smalloc pool to this size in kb (def 1024)
-       --warnings-fatal Fio parser warnings are fatal
+       --alloc-size=kb         Set smalloc pool to this size in kb (def 1024)
+       --warnings-fatal        Fio parser warnings are fatal
        --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,
@@ -161,11 +177,11 @@ options in fio. Currently the options are:
 
        process         Dump info related to processes
        file            Dump info related to file actions
-       io                      Dump info related to IO queuing
-       mem                     Dump info related to memory allocations
+       io              Dump info related to IO queuing
+       mem             Dump info related to memory allocations
        blktrace        Dump info related to blktrace setup
        verify          Dump info related to IO verification
-       all                     Enable all debug options
+       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
@@ -232,10 +248,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 +271,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.
@@ -362,7 +384,7 @@ are sent to the server. The 'server' string follows the same format as it
 does on the server side, to allow IP/hostname/socket and port strings.
 You can connect to multiple clients as well, to do that you could run:
 
-fio --client=server2 --client=server2 <job file(s)>
+fio --client=server2 <job file(s)> --client=server2 <job file(s)>
 
 
 Platforms