Why does disk I/O slow down a CPU bound task?

drago01 drago01 at gmail.com
Mon Mar 30 21:43:16 UTC 2015


On Mon, Mar 30, 2015 at 9:58 PM, Dave Johansen <davejohansen at gmail.com> wrote:
> I noticed on RHEL 6 that when a large amount of disk I/O is happening that
> CPU bound tasks "slow down". I have been able to reproduce it in Fedora 21
> as well and here are the instructions of how I can reproduce it with a
> simple test:
>
> 1) Build the disk_test.cc (the "CPU bound task") and run it.
> 2) Create a large file to copy ( fallocate -l 10G junk ).
> 3) Copy that file with a one minute delay between copies ( while true; do cp
> junk junk2; sleep 60; done )
>
> If you direct the output of disk_test.cc to a file, then you can plot the
> results in gnuplot with the following commands to see the change in the mean
> time between "finishing the work cycle" when the file is being copied:
> set xdata time
> set timefmt "%s"
> plot "out.txt" using 1:3 with lines
>
> You can also notice that the load average is also going up, so it seems like
> something in the kernel/scheduler is getting some sort of exclusive lock in
> the disk I/O process and that's causing the CPU bound task to not be able to
> execute when it should. Any ideas?

https://lwn.net/Articles/572911/
https://lwn.net/Articles/467328/


More information about the devel mailing list