System unresponsive during HDD activity

Robert Myers rbmyersusa at gmail.com
Fri Sep 17 18:36:12 UTC 2010


On Tue, Sep 14, 2010 at 5:11 PM, Konstantin Svist <fry.kun at gmail.com> wrote:
>  For some reason, while running HDD-intensive tasks (e.g. svn update on
> a large tree), system becomes extremely unresponsive.
> And I don't mean tasks that require any disk access - I'm trying to type
> inside an ssh session in a terminal, and the remote machine is getting
> my keystrokes after a pretty long delay.
>
> Just now, composing this email, thunderbird got stuck at the previous
> sentence for a second while it was downloading new messages.
>
> What's going on??
>

I've never thought that there was anything more complicated to this
phenomenon than that keyboard and disk i/o are both serviced by
interrupts.

Not only that, but I think the problem is fundamental.  You have two
real-time processes competing for processor time and constantly
attempting to interrupt one another.

Even if you try to set priorities so that keystrokes get first call on
the processor's attention, the system has to do a lot of save and
restore to respond to each one of those keystrokes,  and, unless you
don't care about data corruption, some disk tasks, once initiated,
absolutely must be attended to.

If you push things hard enough, you wind up with a situation that is
somewhat analogous to a traffic jam on a freeway: the throughput of
the entire system drops precipitously because all of the margins for
error have been exhausted, and you wind up with mutually-interrupting
processes queued up and traffic nearly at a stand-still.

A "fix" could never be more than moving the deck chairs around on the
Titanic.  Any freeway, no matter how big, can be overloaded, and there
will always be traffic jams.

Robert.


More information about the users mailing list