eda3a60699e1d96bb68875ef2169ca819eb8f4f9 |
|
20-May-2017 |
Elliott Hughes <enh@google.com> |
Update to fio-2.20. Bug: N/A Test: builds, seems to work Change-Id: I455dcc898f00dc50ae5cb65d1b381982df5a51e0
/external/fio/file.h
|
d55dd0413b5f2df5e637c9c6e752b4272e4a1e5f |
|
15-Dec-2014 |
Jens Axboe <axboe@fb.com> |
file: unionize lfsr/randommap We only use one of them, add file flags to distinguish between the two. Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
aa31de7d76f05dae6b015eb882c98a816c1a4b5f |
|
15-Dec-2014 |
Jens Axboe <axboe@fb.com> |
Add helpers for getting/setting file engine data Since it's a uint64_t, we need casting to get/set the engine data or some platforms will complain. Encapsulate that in helper macros. Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
eea6bedef6357ff84b878f989f758f9a8e441839 |
|
15-Dec-2014 |
Jens Axboe <axboe@fb.com> |
file: move mmap related data to engines/mmap.c where it belongs We should not keep this in the generic file structure, it belongs in file engine data for the specific engine. Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
08a99bed133fdd5dd6ef87c8638b45b135b10a8e |
|
15-Dec-2014 |
Jens Axboe <axboe@fb.com> |
Fix read/write mix and different levels of randomness Stephen reports: When using fio configuration below: [global] ioengine=libaio direct=1 runtime=600 bs=32k iodepth=8 rw=randrw rwmixread=80 percentage_random=100,0 [drive1] filename=/dev/sda I am expecting to see 80% reads, 20% writes where all reads are random and all writes are sequential. I captured a bus trace of traffic to the disk and the bus trace reflected as much with one issue. The write commands are essentially random. Each write begins at a new random LBA. If 2 or more writes occur in a row, the LBA's are sequential based on the block size BUT I feel the heart of this feature would be to emulate a large file write during random access. With that in mind would it be possible for sequential reads or writes within mixed sequential/random workload to remember the last LBA accessed? In this scenario the writes would still only take up 20% of the workload but when a write did occur it should be the next sequential step from the last write. ----- This is due to the fact that fio tracks last start/end on a unified basis, not per read/write/trim direction. Fix that. Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
bedc9dc24223bb33be4120f4a57718bc54888ca5 |
|
17-Mar-2014 |
Jens Axboe <axboe@fb.com> |
Add support for file appends Add option file_append (bool). If set, fio will append to a file instead of operate within the size of it. This is similar to setting offset= to the size of each file. Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
5903e7b7907854014478b6febfc5645a203ff59e |
|
26-Feb-2014 |
Jens Axboe <axboe@fb.com> |
blktrace: load improvements - Set the state explicitly to SETTING_UP when loading the traces. This could take a while, so tell the status thread that we are setting up so it knows how to display us correctly. - Fix a bug with multiple devices where we didn't cache the major/minor properly. This made blktrace spend tons of CPU cycles looking up /sys. - Handle multiple devices correctly when adding files. Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
bcbfeefa7bce8383cf85fe59ced91f54821dfbd2 |
|
20-Feb-2014 |
Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> |
fio: add multi directory support This patch adds support for ':' seperated multiple directories at the directory config statement in order to achieve an automatic distribution of job clones (numjob) across directories. That way people can distribute a load across these directories (usually mount points of disks) automatically - changing numjob will be sufficient to get all job clones evenly (optimal if dirs % numjobs = 0, otherwise as good as possible) distributed at all times. To avoid confused users old config Files will behave like they always did, old fio binaries using new config files won't abort but just use the first specified dir. If one specifies an explcit (non generated) filename the distribution to many directories is also deactivated. It also fixes an issue of events seeming out of order like when running with --debug=file seeing the "..." message meaning "I created the clones" prior to the last clone activities. Now the clones are called with index N-1 .. 1, zero being the base thread as before. Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
bea5c23dfb5166931ff476a483fd66d5e5b10601 |
|
12-Feb-2014 |
Daniel Gollub <daniel.gollub@t-online.de> |
Make file.h C++ safe by casting fio_file_flags Fixes for g++ (4.7.2) following compiler errors when fio.h gets included (e.g. in an external C++ ioengine): --8<--- [...] os/../file.h: In function ‘void fio_file_set_open(fio_file*)’: os/../file.h:142:1: error: invalid conversion from ‘int’ to ‘fio_file_flags’ [-fpermissive] os/../file.h: In function ‘void fio_file_clear_open(fio_file*)’: os/../file.h:142:1: error: invalid conversion from ‘int’ to ‘fio_file_flags’ [-fpermissive] os/../file.h: In function ‘void fio_file_set_closing(fio_file*)’: [...] --->8--- Signed-off-by: Daniel Gollub <d.gollub@telekom.de> Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
002fe73409d1e3d5e7dfe2885f75885bfaf506bc |
|
11-Feb-2014 |
Jens Axboe <axboe@fb.com> |
Fix issue with openfiles= and file sizing Fill the given size as well as we can, given the size and nr of files. Fix an issue where we don't properly honor how many files to keep open at any point in time. Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/file.h
|
d7df1d133b0c3daad4ae4c731e0dae7b0181fd62 |
|
21-Mar-2013 |
Jens Axboe <axboe@kernel.dk> |
Rework lockfile= file lock handling Get rid of the hand rolled rw semaphores, just use pthread rwlocks instead. Kill the batching too, it was broken by default, so nobody could have been using it. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
47f07ddc7d3354cd6f985b6468989e5e699c4b53 |
|
11-Feb-2013 |
Jens Axboe <axboe@kernel.dk> |
Turn f->engine_data into a 64-bit value Even on 32-bit platforms, we store (uint64_t) -1 in there for some cases to make it be 'invalid'. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
33c48814e08cf961801bf37f759da2748eb3431b |
|
21-Jan-2013 |
Jens Axboe <axboe@kernel.dk> |
Re-seed random generator when a file is reset Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
9cbef5049eb96541128940cc96d60481141bfc1c |
|
04-Jan-2013 |
Jens Axboe <axboe@kernel.dk> |
Use uintptr_t for engine data Gets rid of a warning on 32-bit builds on Linux. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
293b8c1f23bbe4c735cd00fbb7cca1121bf18016 |
|
04-Jan-2013 |
Jens Axboe <axboe@kernel.dk> |
Start of transition from unsigned long long to uint64_t Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
ef5f5a3a63f8b7c472f30484c520265aba6ef162 |
|
12-Dec-2012 |
Jens Axboe <axboe@kernel.dk> |
file: unify ->file_data and ->file_pos The only real use case of ->file_pos was by the sync engine to avoid an lseek() if the offset was already correct. The e4defrag, falloc, and fusion-aw engine also set ->file_pos, but that looks like a case of copy-paste, since they don't actually use it. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
e6c4d732fc99070091367d0ce41fe2cf1ddd1dc9 |
|
12-Dec-2012 |
Jens Axboe <axboe@kernel.dk> |
file hash: don't close file fd on lookup/add race On Linux, udev often has a rule that triggers blkid to read data off the device, if the device has been opened for writing. This triggers when the device is closed. Fio has an internal file hash for lookup of files. When threads start, it can happen that one thread does a hash lookup without finding the file, but when it has opened the file and attempts to insert it into the hash, another thread has already completed that operation. When that race happens, fio closes the file handle and does the lookup again. That then triggers blkid to read pages off the device. As data in the cache is invalidated on open of the device, we know have page cache entries for the device again. This is a problem for unbuffered workloads, where the existance of page cache pages slows it down due to having to check for invalidation. The user observed problem is that fio exhibits bi-modal performance results, depending on whether the file hash race was hit during setup or not. Fix this by NOT closing the file if we hit this race, but instead wait until the file is closed after the run. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
7ebd796f4e50c21d652e62bf1e112755b0f338a8 |
|
28-Nov-2012 |
Jens Axboe <axboe@kernel.dk> |
Rename the bitmap to axmap It's not really a bitmap, it's a bitmap of bitmaps. Now named. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
8055e41d0ecc54770a2653427532b3e2c5fabdad |
|
26-Nov-2012 |
Jens Axboe <axboe@kernel.dk> |
Add LFSR generator Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
51ede0b1e9c9b570b942b50b44d0455183a0d5ec |
|
22-Nov-2012 |
Jens Axboe <axboe@kernel.dk> |
Rework file random map Fio slows down at the end of a random IO run, when the random map is used and it gets fuller. This causes slowdowns in IOPS. This is largely due to the file random map being an array of bits, and with random access to single bits of the array at the time, locality is awful. The effect is observable throughout a run, though, where it gradually gets slower and slower. It just becomes more apparent at near the end of the run, where the last 10% are fairly bad. This is even with doing a bunch of tricks to reduce that cost. Implement an N-level bitmap, where layer N uses a single bit to represent 32/64-bits at layer N-1. The number of layers depends on the number of blocks. This has slightly higher overhead initially in theory, in practice it performs about the same. As a bonus, the throughput remains constant during the run, and even becomes faster near the end. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
9c6f63166eaecc13e4b2ca1d80cc1b5e6185fd43 |
|
07-Nov-2012 |
Jens Axboe <axboe@kernel.dk> |
Make the zipf/pareto state per file Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
1ccc6dc75b28ef70cd7a8c39ac8c1cb68c720a65 |
|
19-Sep-2012 |
Dmitry Monakhov <dmonakhov@openvz.org> |
export file_lookup_open generic_open_file is not always appropriate method, but other modules may want to implement similar callback and use hash optimization. Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
ce95d651568bd5494e4c4ddc95832715c6760d56 |
|
16-Aug-2012 |
Dan Ehrenberg <dehrenberg@google.com> |
Fixing wraparound behavior for time-based sequential read jobs Previously, a buggy patch made sequential jobs wrap around when they reached an offset of 'size'. However, the appropriate wraparound is at size + initial offset. This patch restores the previous behavior. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
89ac1d48971578ccb0645c292d4a058340aeb909 |
|
11-Jun-2012 |
Shaohua Li <ShLi@fusionio.com> |
Fix "fio: file hash not empty on exit" with blktrace replay There are two problems: 1. blktrace data hasn't file close action 2. redirect file fileno isn't correct Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
93bcfd20e37cef8cec350fe06d3a086724c9f257 |
|
20-Feb-2012 |
Bruce Cran <bruce@cran.org.uk> |
Move Windows port to MinGW - Add calls to WSAStartup in the network code as required by Winsock. - Add Windows-specific init_random_state function which uses the Crypto API. - Move Windows port to MinGW and update build system to create a 64-bit binary by default. - Install text files as .rtf so they won't open in Notepad by default (Wordpad understands Unix line endings; Notepad doesn't). - Simplify WiX installer code. Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
0e280eef250c3026e57445c9ebf1e2bbf31cd561 |
|
01-Feb-2012 |
Jens Axboe <axboe@kernel.dk> |
Grow file num_maps to unsigned long Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/file.h
|
a596f047e2b3d447ccca76bd075f05473a1f8d1c |
|
17-Jun-2011 |
Eric Gouriou <egouriou@google.com> |
Add ability to invoke fallocate() FALLOC_FL_KEEP_SIZE. Linux offers fallocate() and the FALLOC_FL_KEEP_SIZE option as an alternative to posix_fallocate(). When FALLOC_FL_KEEP_SIZE is specified for an falloc request going beyond the end of the file, the requested blocks get preallocated without changing the apparent size of the file. This is is a commonly recommended use of fallocate() for workloads performing append writes. This patch modifies the fallocate option from a boolean option to a string option accepting none/posix/keep/0/1. 'keep' is only made available on systems where FALLOC_FL_KEEP_SIZE is available (i.e., Linux at this time). If specified, fallocate() is used with FALLOC_FL_KEEP_SIZE set. 'none' disables pre-allocation while 'posix' uses posix_fallocate(). The default behavior remains unchaned, i.e., invoking posix_fallocate. The settings '0'/'1' are there to provide backward compatibility for users who had explicitly set the boolean option. Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
0ce8b119b65849e537cab628a176a0ec4238aab0 |
|
27-Jan-2011 |
Jens Axboe <jaxboe@fusionio.com> |
Fix end-of-job slowdown for random IO with a random map Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
e2e58886427019b525d2a234c5404a38ec0c7ebf |
|
04-Jan-2011 |
Jens Axboe <jaxboe@fusionio.com> |
OS headers need fio_file definition now Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
ecc314ba7c5f02b7e90ac1dfbce1a74cd4e6d6fe |
|
04-Jan-2011 |
Bruce Cran <bruce@cran.org.uk> |
FIO Windows update Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
03e20d687566753b90383571e5e152c5142bdffd |
|
02-Jan-2011 |
Bruce Cran <bruce@cran.org.uk> |
First snapshot of FIO for Windows Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
9e700a738f816bebb22333de97414b534c79c267 |
|
08-Oct-2010 |
Jens Axboe <jaxboe@fusionio.com> |
Add missing file.h f->file_data change Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
0e238572c4e63b0675fd9cbbf168d19ad8d60464 |
|
08-Oct-2010 |
Jens Axboe <jaxboe@fusionio.com> |
binject: setup and teardown mappings internally Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
49ffb4a2e1ac3026d77d9e1c03edc2753fcec41b |
|
24-Aug-2010 |
Jens Axboe <jaxboe@fusionio.com> |
Fix blktrace replay We would add duplicate files, if the open event comes before the add file event. Make sure we return the current index file instead of adding a duplicate, this causes bad file lookups. Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
38dad62d5154ffaad445bd0231b271b9a46a5190 |
|
20-Jul-2010 |
Jens Axboe <jaxboe@fusionio.com> |
Add rw_sequencer option Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/file.h
|
44f29692cfba246981bb3c1b894333a6d2209f51 |
|
09-Mar-2010 |
Jens Axboe <jens.axboe@oracle.com> |
Initial suppor for sync_file_range() This revs the ioengine to 11, as we now have another data direction. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|
e943b8785fa19ab5536d91242f1063ae809cdf2b |
|
02-Feb-2010 |
Jens Axboe <jens.axboe@oracle.com> |
Track last file offset Avoids doing an lseek() in the sync IO engine. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|
e8462bd8250cf3ff2d41f17e1a4d4cefc70b6b37 |
|
06-Jul-2009 |
Jens Axboe <jens.axboe@oracle.com> |
Add support for async IO verification offload This adds support for setting up a number of IO verification offload threads, instead of doing the offload inline. An option for controlling the CPU affinity of those threads are always added. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|
ed47cbf7063df84343cd79fdc64eb7bbf7d6df2a |
|
03-Jul-2009 |
Jens Axboe <jens.axboe@oracle.com> |
mmap engine: allow full mmaps for 64-bit machines No need to do partial mmaps there. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|
c592b9fe12d4739d99d5bece517e304804876df6 |
|
03-Jun-2009 |
Jens Axboe <jens.axboe@oracle.com> |
More fio.h cleanups Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|
590aebda258e146edd73382121be9c84643d8f1b |
|
03-Jun-2009 |
Jens Axboe <jens.axboe@oracle.com> |
Move file service type defines to file.h Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|
4cd02b3f7f4eda0ec263f04422ab6424b7693605 |
|
03-Jun-2009 |
Jens Axboe <jens.axboe@oracle.com> |
Move more file stuff to file.h Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|
d6aed795f2e3e403828abf60874dd2d6e8342a1b |
|
03-Jun-2009 |
Jens Axboe <jens.axboe@oracle.com> |
Clean up file flags Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/file.h
|