Re: [PATCH] allocate page caches pages in round robin fasion

From: Jesse Barnes
Date: Fri Aug 13 2004 - 11:02:08 EST


On Friday, August 13, 2004 7:50 am, Martin J. Bligh wrote:
> I really don't think this is a good idea - you're assuming there's really
> no locality of reference, which I don't think is at all true in most cases.

No, not at all, just that locality of reference matters more for stack and
anonymous pages than it does for page cache pages. I.e. we don't want a node
to be filled up with page cache pages causing all other memory references
from the process to be off node.

> If we round-robin it ... surely 7/8 of your data (on your 8 node machine)
> will ALWAYS be off-node ? I thought we discussed this at KS/OLS - what is
> needed is to punt old pages back off onto another node, rather than
> swapping them out. That way all your pages are going to be local.

That gets complicated pretty quickly I think. We don't want to constantly
shuffle pages between nodes with kswapd, and there's also the problem of
deciding when to do it.

> OK, so it obviously does something ... but is the dd actually faster?
> I'd think it's slower ...

Sure, it's probably a tiny bit slower, but assume that dd actually had some
compute work to do after it read in a file (like an encoder or fp app), w/o
the patch, most of it's time critical references would be off node. The
important thing is to get the file data in memory, since that'll be way
faster than reading from disk, but it doesn't really matter *where* it is in
memory. Especially since we want an app's code and data to be node local.

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