The first step in getting fio to simulate a desired I/O workload, is writing a job file describing that specific setup. A job file may contain any number of threads and/or files -- the typical contents of the job file is a global section defining shared parameters, and one or more job sections describing the jobs involved. When run, fio parses this file and sets everything up as described. If we break down a job from top to bottom, it contains the following basic parameters:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
swinfra-admin/sample-project/1q7chg7p/code/tutorial.py {} | |
swinfra-admin/sample-project/1q7chg7p/config.yaml {} | |
swinfra-admin/sample-project/1q7chg7p/media/graph/graph_summary_b50a7fff.graph.json {} | |
swinfra-admin/sample-project/1q7chg7p/model-best.h5 {} | |
swinfra-admin/sample-project/1q7chg7p/output.log {} | |
swinfra-admin/sample-project/1q7chg7p/requirements.txt {} | |
swinfra-admin/sample-project/1q7chg7p/wandb-metadata.json {} | |
swinfra-admin/sample-project/1q7chg7p/wandb-summary.json {} | |
swinfra-admin/sample-project/1rgcvkcd/code/tutorial.py {'wandb-synced': 'true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,tr |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Program that demonstrates a hang in pthread_cond_signal() when using | |
* winpthreads (at least versions 5.0.2-7.2.0). On Windows compile with | |
* x86_64-w64-mingw32-gcc -g -O3 -static -pthread signalhang.c -o signalhang | |
* on Linux compile with | |
* gcc -g -O3 -lrt -pthread signalhang.c -o signalhang | |
* | |
* Extra compilation options: | |
* -DDETECT_DEADLOCK=1 : Print a message and trigger an assert if it looks like | |
* threads have become deadlocked | |
* -DLOGGING=1 : Print logging information when wakes are done. "hits" is |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/os/os-android.h b/os/os-android.h | |
index c56d6827109a..6eeb1e4c39a6 100644 | |
--- a/os/os-android.h | |
+++ b/os/os-android.h | |
@@ -98,7 +98,7 @@ static inline int shmget(key_t __key, size_t __size, int __shmflg) | |
goto error; | |
/* Stores size in first 8 bytes, allocate extra space */ | |
- ret = ioctl(fd, ASHMEM_SET_SIZE, __size + sizeof(uint64_t)); | |
+ ret = ioctl(fd, ASHMEM_SET_SIZE, __size + 2 * sizeof(uint64_t)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
valgrind --tool=cachegrind --branch-sim=yes fio --thread --eta=never --ioengine=libaio --readwrite=write --time_based=1 --runtime=60 --filename=/tmp/fio --size=1M --direct=1 --name=test --write_iops_log=/tmp/test --log_avg_msec=5500 | |
Ir I1mr ILmr Dr D1mr DLmr Dw D1mw DLmw Bc Bcm Bi Bim | |
. . . . . . . . . . . . . void timeval_add_msec(struct timeval *tv, unsigned int msec) | |
. . . . . . . . . . . . . { | |
1,744 242 1 872 0 0 371 0 0 0 0 0 0 tv->tv_usec += 1000 * msec; | |
1,002 241 1 0 0 0 0 0 0 501 126 0 0 if (tv->tv_usec >= 1000000) { | |
390 0 0 130 0 0 130 0 0 0 0 0 0 tv->tv_usec -= 1000000; | |
130 0 0 130 0 0 0 0 0 0 0 0 0 tv->tv_sec++; | |
. . . . . . . . . . . . . } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x86_64 only patch to build libaio under MemorySanitzer. Based against libaio git repo from | |
https://git.fedorahosted.org/cgit/libaio.git/ and using the information provided by Evgeniy Stepanov in | |
https://github.com/google/sanitizers/issues/688#issuecomment-225403581 . | |
diff --git a/src/Makefile b/src/Makefile | |
index eadb336..c839c9c 100644 | |
--- a/src/Makefile | |
+++ b/src/Makefile | |
@@ -2,8 +2,8 @@ prefix=/usr | |
includedir=$(prefix)/include |