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

Dave Johansen davejohansen at gmail.com
Wed Apr 1 04:53:41 UTC 2015


On Tue, Mar 31, 2015 at 3:26 PM, Richard W.M. Jones <rjones at redhat.com>
wrote:

> On Tue, Mar 31, 2015 at 12:21:55PM -0700, Dave Johansen wrote:
> > You're right that is a problem because my "purely CPU bound task" was
> > actually writing to disk every 10 seconds, so I've attached an updated
> > version that pre-allocates a vector and stores the results there so they
> > can be dumped when the users presses Ctrl-C. With this update, the "CPU
> > bound task" should only using CPU and existing memory but I still see the
> > same slow down in the "CPU bound task" when the disk I/O is happening.
>
> For the definitive test, you might want to add a call to mlockall()
> into your program.  It is supposed to lock every page of your process
> into RAM (just in case it is being swapped out, and hence using I/O).
>
> I guess you will also need to run the CPU test program as root.


I added the call to mlockall() (it did have to be run as root) on a F21
machine with no swap and the slow down was still visible in the "CPU bound
task".
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/devel/attachments/20150331/7e63d8df/attachment.html>


More information about the devel mailing list