Update REPORTING-BUGS

Signed-off-by: Jens Axboe <axboe@kernel.dk>
cpuio engine cpuload bug fix

Current cpu ioengine always bruns out 100 percent cpu cycles
no matter what the cpuload value is. Since no data is transferred
with cpuio, bytes_done would be ZERO. Consequently, think_time
is omitted and loops keeps running.

A cpuio example is added as well.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
thread cpu resource statistics bug fix

If `thread' option is enabled, resource usage should be thread
based instead of process based. For the following job,

fio --ioengine=cpuio --cpuload=50 --time_based --runtime=10 --name=j0 --numjobs=4 --thread

before patch, each thread CPU statistics:
...
  cpu          : usr=199.67%, sys=0.14%, ctx=1475, majf=0, minf=24
...

after patch:
...
  cpu          : usr=49.80%, sys=0.00%, ctx=79, majf=0, minf=18446744073709538943
...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Fine-grained job level numa control

Two new options, numa_cpu_nodes and numa_mem_policy, are created
for a fine-grained job level numa control. Please refer HOWTO and
README for detailed description.
A example job, examples/numa, is added as well.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
backend: only check bytes_done for engines without FIO_NOIO

This basically reverts the functional part of commit 2557f7e6.
Instead of having to fiddle with the io_u manually, have
the backend check whether we expect data to have been transerred
or not.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add LICENSE file specyfing what I expect from people using fio

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Replace FIO_HAVE_RUSAGE_THREAD with RUSAGE_THREAD

RUSAGE_THREAD is a more clear macro to enable getrusage() thread support.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
rdma ioengine improvement

1) Use fio shipped reentrant and thread-safe rand to replace buggy rand().
2) Add a pause time period before client start committing IOs.
	In SEND/RECV test, it's a good practice to setup the iodepth of
	of the RECV side deeper than that of the SEND side to
	avoid RNR (receiver not ready) error. The
	SEND side may send so many unsolicited message before
	RECV side commits sufficient recv buffers into recv queue.
	This may lead to RNR error. Here, SEND side pauses for a while
	during which RECV side commits sufficient recv buffers.
3) Fix server thread hanging bug.
	For RDMA WRITE/READ test, No IO bytes are accumulated in server side
	during test. Server thread indicates its task completion by changing
	its state into `done' as an alternitive. Add `td->done' checking in
	do_io().
4) Some comments revision.
	export EXTFLAGS and EXTLIBS with '+=".
	explanation on exchanging steps of RDMA ioengine control messages.

All these changes are tested in 40Gbps RoCE and 56Gbps InfiniBand testbeds.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
rdma: use private random state

We can't reuse td->__random_state as that will impact the sequence
of offsets we generate for random IO.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
rdma: fixup compile issue

Signed-off-by: Jens Axboe <axboe@kernel.dk>
rdma: cleanup and fixes

Mostly style cleanups, but also a fix for checking and using
OS rand if set. rdma should just always use the internal rand
generator.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add max_latency option

If set, fio will exit if it sees a total IO latency that exceeds
this value.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
smalloc: fix int truncation issue

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
smalloc: move to size_t for allocations

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add sample zipf distribution randomizer

Instead of just doing purely random IO where each block is
touched exactly (or close to, depending on random map) once,
add a zipf distribution scheme where a selectable theta
defines the spread and frequency of blocks read/written.

Committing this so I don't lose it. Needs a few changes,
for instance we need to hash the zipf output so that
the spread doesn't always just favor the lower LBA range.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Add forgotten minmax.h include file

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add pareto distribution randomizer

Signed-off-by: Jens Axboe <axboe@kernel.dk>
zipf: needs inttypes.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>