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

From: Ingo Oeser
Date: Wed Oct 15 2003 - 08:28:59 EST


On Monday 13 October 2003 10:45, Helge Hafting wrote:
> Greg Stark wrote:
> [...]
> > 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!

If you are using regular read/write syscalls and not too big chunks --> trivial.
If you mmap you database --> harder.

If you would like to tell the kernel, that this should not be treated
like a sequential read --> fadvise/madvise.

> 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.


Here I agree as this seems like a solution.

The problem is, that you sometimes need low latency for your
transactions and then you cannot start throttling a heavy IO process,
whose IO is already issued and who is basically just waiting for disk
eating its bandwidth.


The questions are: How IO-intensive vacuum? How fast can a throttling
free disk bandwidth (and memory)?


Regards

Ingo Oeser



-
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/