remove numpy and scipy dependency
[fio.git] / README
diff --git a/README b/README
index e90f4938fc23879aab9ed57703c80c88015d55d7..5fa37f3eed33a15a15a38836cf0080edc81688fd 100644 (file)
--- a/README
+++ b/README
@@ -26,6 +26,18 @@ Snapshots can download from:
 
        http://brick.kernel.dk/snaps/
 
 
        http://brick.kernel.dk/snaps/
 
+There are also two official mirrors. Both of these are automatically synced
+with the main repository, when changes are pushed. If the main repo is down
+for some reason, either one of these is safe to use as a backup:
+
+       git://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
+       https://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
+
+or
+
+       git://github.com/axboe/fio.git
+       https://github.com/axboe/fio.git
+
 
 Binary packages
 ---------------
 
 Binary packages
 ---------------
@@ -101,28 +113,27 @@ To build FIO with a cross-compiler:
  $ make CROSS_COMPILE=/path/to/toolchain/prefix
 Configure will attempt to determine the target platform automatically.
 
  $ make CROSS_COMPILE=/path/to/toolchain/prefix
 Configure will attempt to determine the target platform automatically.
 
+It's possible to build fio for ESX as well, use the --esx switch to
+configure.
+
 
 Windows
 -------
 
 
 Windows
 -------
 
-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
+On Windows, Cygwin (http://www.cygwin.com/) is required in order to
+build fio. To create an MSI installer package install WiX 3.8 from
 http://wixtoolset.org and run dobuild.cmd from the
 os/windows directory.
 
 http://wixtoolset.org and run dobuild.cmd from the
 os/windows directory.
 
-How to compile FIO on 64-bit Windows:
+How to compile fio on 64-bit Windows:
 
 
- 1. Install Cygwin (http://www.cygwin.com/setup.exe). Install 'make' and all
+ 1. Install Cygwin (http://www.cygwin.com/). Install 'make' and all
     packages starting with 'mingw64-i686' and 'mingw64-x86_64'.
     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'.
+ 2. Open the Cygwin Terminal.
+ 3. Go to the fio directory (source files).
+ 4. Run 'make clean && make -j'.
 
 
-To build fio on 32-bit Windows, download x86/pthreadGC2.dll instead and do
-'./configure --build-32bit-win=yes' before 'make'.
+To build fio on 32-bit Windows, run './configure --build-32bit-win' before 'make'.
 
 It's recommended that once built or installed, fio be run in a Command Prompt
 or other 'native' console such as console2, since there are known to be display
 
 It's recommended that once built or installed, fio be run in a Command Prompt
 or other 'native' console such as console2, since there are known to be display
@@ -138,14 +149,14 @@ $ fio
        --parse-only            Parse options only, don't start any IO
        --output                Write output to file
        --runtime               Runtime in seconds
        --parse-only            Parse options only, don't start any IO
        --output                Write output to file
        --runtime               Runtime in seconds
-       --latency-log           Generate per-job latency logs
        --bandwidth-log         Generate per-job bandwidth logs
        --minimal               Minimal (terse) output
        --bandwidth-log         Generate per-job bandwidth logs
        --minimal               Minimal (terse) output
-       --output-format=type    Output format (terse,json,normal)
+       --output-format=type    Output format (terse,json,json+,normal)
        --terse-version=type    Terse version output format (default 3, or 2 or 4).
        --version               Print version info and exit
        --help                  Print this page
        --cpuclock-test         Perform test/validation of CPU clock
        --terse-version=type    Terse version output format (default 3, or 2 or 4).
        --version               Print version info and exit
        --help                  Print this page
        --cpuclock-test         Perform test/validation of CPU clock
+       --crctest[=test]        Test speed of checksum functions
        --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
        --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
@@ -162,10 +173,17 @@ $ fio
        --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.
        --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.
+       --client=host           Connect to specified backend(s).
+       --remote-config=file    Tell fio server to load this local file
        --idle-prof=option      Report cpu idleness on a system or percpu basis
                                (option=system,percpu) or run unit work
                                calibration only (option=calibrate).
        --idle-prof=option      Report cpu idleness on a system or percpu basis
                                (option=system,percpu) or run unit work
                                calibration only (option=calibrate).
+       --inflate-log=log       Inflate and output compressed log
+       --trigger-file=file     Execute trigger cmd when file exists
+       --trigger-timeout=t     Execute trigger af this time
+       --trigger=cmd           Set this command as local trigger
+       --trigger-remote=cmd    Set this command as remote trigger
+       --aux-path=path         Use this path for fio state generated files
 
 
 Any parameters following the options will be assumed to be job files,
 
 
 Any parameters following the options will be assumed to be job files,
@@ -199,6 +217,7 @@ Currently, additional logging is available for:
        time            Dump info related to internal time keeping
        net             Dump info related to networking connections
        rate            Dump info related to IO rate switching
        time            Dump info related to internal time keeping
        net             Dump info related to networking connections
        rate            Dump info related to IO rate switching
+       compress        Dump info related to log compress/decompress
        ? or help       Show available debug options.
 
 One can specify multiple debug options: e.g. --debug=file,mem will enable
        ? or help       Show available debug options.
 
 One can specify multiple debug options: e.g. --debug=file,mem will enable
@@ -293,14 +312,48 @@ Fio can connect to multiple servers this way:
 
 fio --client=<server1> <job file(s)> --client=<server2> <job file(s)>
 
 
 fio --client=<server1> <job file(s)> --client=<server2> <job file(s)>
 
+If the job file is located on the fio server, then you can tell the server
+to load a local file as well. This is done by using --remote-config:
+
+fio --client=server --remote-config /path/to/file.fio
+
+Then fio will open this local (to the server) job file instead
+of being passed one from the client.
+
+If you have many servers (example: 100 VMs/containers), 
+you can input a pathname of a file containing host IPs/names as the parameter 
+value for the --client option.  For example, here is an example "host.list" 
+file containing 2 hostnames:
+
+host1.your.dns.domain
+host2.your.dns.domain
+
+The fio command would then be:
+
+fio --client=host.list <job file(s)>
+
+In this mode, you cannot input server-specific parameters or job files -- all
+servers receive the same job file.  
+
+In order to let fio --client runs use a shared filesystem 
+from multiple hosts, fio  --client now prepends the IP address of the 
+server to the filename.  For example, if fio is using directory /mnt/nfs/fio 
+and is writing filename fileio.tmp, with a --client hostfile containing 
+two hostnames h1 and h2 with IP addresses 192.168.10.120 and  192.168.10.121,
+then fio will create two files:
+
+       /mnt/nfs/fio/192.168.10.120.fileio.tmp
+       /mnt/nfs/fio/192.168.10.121.fileio.tmp
+
 
 Platforms
 ---------
 
 Fio works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD,
 
 Platforms
 ---------
 
 Fio works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD,
-Windows and FreeBSD.  Some features and/or options may only be available on
-some of the platforms, typically because those features only apply to that
-platform (like the solarisaio engine, or the splice engine on Linux).
+Windows, FreeBSD, and DragonFly. Some features and/or options may only be
+available on some of the platforms, typically because those features only
+apply to that platform (like the solarisaio engine, or the splice engine on
+Linux).
 
 Some features are not available on FreeBSD/Solaris even if they could be
 implemented, I'd be happy to take patches for that. An example of that is
 
 Some features are not available on FreeBSD/Solaris even if they could be
 implemented, I'd be happy to take patches for that. An example of that is