--Jesse Barnes <jbarnes@xxxxxxxxxxxx> wrote (on Friday, August 13, 2004 09:34:20 -0700):
On Friday, August 13, 2004 9:20 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.
Does that actually happen though? Looking at the current code makes me
think it'll keep some pages free on all nodes at all times, and if kswapd
does it's job, we'll never fall back across nodes. Now ... I think that's
broken, but I think that's what currently happens - that was what we
discussed at KS ... I might be misreading it though, I should test it.
Not nearly enough pages for any sizeable app though. Maybe the behavior could be configurable?
Well, either we're:
1. Falling back and putting all our most recent accesses off-node.
or.
2. Not falling back and only able to use one node's memory for any one (single threaded) app.
Either situation is crap, though I'm not sure which turd we picked right
now ... I'd have to look at the code again ;-) I thought it was 2, but
I might be wrong.