Re: statfs() / statvfs() syscall ballsup...

From: Helge Hafting
Date: Mon Oct 13 2003 - 03:36:53 EST


Greg Stark wrote:
[...]

But then vacuum comes along and tries to read the entire table sequentially.
In the best case the sequential read will take up a lot of the available disk
bandwidth and delay transactions. In the worst case the OS will actually
prefer the sequential read because the elevator algorithm always sees that it
can get more bandwidth by handling it ahead of the random access.

In reality there is no time pressure on the vacuum at all. As long as it
completes faster than dead records can pile up it's fast enough. The
transactions on the other hand must complete as fast as possible.

This seems almost trivial. If the vacuum job runs too much,
overusing disk bandwith - throttle it!
This is easier than trying to tell the kernel that the job is
less important, that goes wrong wether the job runs too much
or too little. Let that job sleep a little when its services
aren't needed, or when you need the disk bandwith elsewhere.


Helge Hafting



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/