Messages in this thread | | | Subject | Re: statfs() / statvfs() syscall ballsup... | From | Greg Stark <> | Date | 15 Oct 2003 11:03:23 -0400 |
| |
Ingo Oeser <ioe-lkml@rameria.de> writes:
> On Monday 13 October 2003 10:45, Helge Hafting wrote: > > > 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.
Actually I think that's exactly backwards. The problem is that if the user-space tries to throttle the process it doesn't know how much or when. The kernel knows exactly when there are other higher priority writes, it can schedule just enough writes from vacuum to not interfere.
So if vacuum slept a bit, say every 64k of data vacuumed. It could end up sleeping when the disks are actually idle. Or it could be not sleeping enough and still be interfering with transactions.
Though actually this avenue has some promise. It would not be nearly as ideal as a kernel based solution that could take advantage of the idle times between transactions, but it would still work somewhat as a work-around.
> The questions are: How IO-intensive vacuum? How fast can a throttling > free disk bandwidth (and memory)?
It's purely i/o bound on large sequential reads. Ideally it should still have large enough sequential reads to not lose the streaming advantage, but not so large that it preempts the more random-access transactions.
-- greg
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |