Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
helper_thread: fix inconsistent status intervals
The signal handler safety changes to the helper thread have resulted in inconsistent status-interval intervals. Consider the following: $ ./fio-canonical/fio --name=test --rw=randwrite --ioengine=libaio --direct=1 --runtime=180 --time_based --filename=/dev/fioa --output=write-canonical.out --minimal --status-interval=1 $ cut -d ';' -f 50 < write-canonical.out | awk 'NR>1{print $1-p} {p=$1}' | sort -n | tail 1002 1002 1002 1002 1002 1042 1046 1251 1252 1252 Several of the status-interval output lines are ~1250ms apart. This patch moves code for triggering the status-interval output from the main fio process to the helper thread. The resulting intervals are much closer to the desired 1000ms. $ ./fio/fio --name=test --rw=randwrite --ioengine=libaio --direct=1 --runtime=180 --time_based --filename=/dev/fioa --minimal --status-interval=1 --output=write-test.out $ cut -d ';' -f 50 < write-test.out | awk 'NR>1{print $1-p} {p=$1}' | sort -n | tail 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 Reported-by: <nate.rivers@wdc.com> Fixes: 31eca64 ("Fix a potential deadlock in helper_do_stat()") Signed-off-by: Vincent Fu <vincent.fu@wdc.com>
- Loading branch information