cb44aa1f72811770d50e1ba5da3d96f2beb51025 |
|
17-May-2013 |
Jens Axboe <axboe@kernel.dk> |
flow: quiesce pending IO before sleep Similar potential latency problem as was fixed for thinktime in commit 002e7183 and for rated IO in commit c3a1b740. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/flow.c
|
fba5c5ff89163062922c3e560e871c087f2177c3 |
|
29-Jan-2013 |
Jens Axboe <axboe@kernel.dk> |
smalloc: alloc failure cleanups Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/flow.c
|
521da527743088a9bd2ab882f8b64799d49d5848 |
|
02-Aug-2012 |
Jens Axboe <axboe@kernel.dk> |
mutex: make 0/1 FIO_MUTEX_LOCKED and FIO_MUTEX_UNLOCKED Makes the API look cleaner. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/flow.c
|
8e8b225d177c8e824785a87a1116309049a27a7c |
|
22-Feb-2012 |
Daniel Ehrenberg <dehrenberg@google.com> |
flow: Fixing uninitialized variable In the flow initialization code path, there was an uninitialized variable that led to memory corruption in certain cases. This patch should initialize the variable properly. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/flow.c
|
9e684a4976b7934f5ce011ea281dfef3352e5738 |
|
20-Feb-2012 |
Dan Ehrenberg <dehrenberg@google.com> |
Token-based flow control This patch allows two fio jobs to be kept to a certain proportion of each other using token-based flow control. There are three new parameters: flow, flow_watermark, and flow_sleep, documented in the fio options. An example of an fio job using these parameters is below: [global] norandommap thread time_based runtime=30 direct=1 ioengine=libaio iodepth=256 size=100g bs=8k filename=/tmp/testfile flow_watermark=100 flow_sleep=1000 [job2] numjobs=1 rw=write flow=-8 [job1] numjobs=1 rw=randread flow=1 The motivating application of this patch was to allow random reads and sequential writes at a particular given proportion. This initial version is only correct when run with 'thread', as shared state is represented with a global variable. It also only allows two jobs to be synchronized properly. A future version might do more, but no more functionality was needed for my application. Tested: Ran a few fio jobs with this flow control, observing the proportion of IOPS to match what was intended by the job file. Varied the flow_watermark and flow_sleep parameters and observed the effect on throughput. Signed-off-by: Dan Ehrenberg <dehrenberg@google.com> Modified by me to support flow_id, so an arbitrary number of flows can be used. This means it no longer relies on global context, so it can be used from a thread or process alike. Also added man page documentation. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/flow.c
|