On 7/25/07, Nick Piggin <[EMAIL PROTECTED]> wrote:
I'm not saying that we can't try to tackle that problem, but first of all you have a really nice narrow problem where updatedb seems to be causing the kernel to completely do the wrong thing. So we start on that.
updatedb isn't the only problem, its just an obvious one. I like the idea of looking into the vfs for this and other one-shot applications (rather than looking at updatedb itself specifically) Many modern applications have a lot of open file handles. For example, I just fired up my usual audio player and sys/fs/file-nr showed another 600 open files (funnily enough, I have roughly that many audio files :) I'm not exactly sure what happens when this one gets swapped out for whatever reason (firefox/java/vmware/etc chews ram, updatedb, whatever) but I'm fairly confident what happens between kswapd and the vfs and whatever else we're caching is not optimal come time for this process to context-switch back in. We're not running a highly-optimised number-crunching scientific app on desktops, we're running a full herd of poorly-coded hogs simultaneously through smaller pens. I don't think anyone is trying to claim that swap prefetch is the be all and end all of this problem's solution, however without it the effects are an order of magnitude worse (I've cited numbers elsewhere, as have several others); its relatively non-intrusive (600+ lines of the 755 changed ones are self-contained), is compile and runtime selectable, and still has a maintainer now that Con has retired. If there was a better solution, it should have been developed sometime in the past 23 months that swap prefetch has addressed it. That's how we got rmap versus aa, and so on. But nobody chose to do so, and continuing to hold out on merging it on the promise of vapourware is ridiculous. That has never been the way linux kernel development has operated. -- Matt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/