Messages in this thread | | | Date | Thu, 13 Jan 2000 15:29:51 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [RFC] 2.3.39 zone balancing |
| |
On Fri, 14 Jan 2000, Ingo Molnar wrote: > > so why cant swap_out (conceptually) accept a 'zones under pressure' > bitmask as an input, and calculate zones from the physical address it sees > in the page table.
Because swap_out() is going to look at the page tables _anyway_.
Basically, my argument is that there is no way "swap_out()" can really target any special zone, except by avoiding to do the final stage in a long sequence of stages that it has already done. I think that's just completely wasteful - doing all the work, and then at the last minute deciding to not use the work after all. Especially as we don't really have any good reason to believe that it's the right thing in the first place.
I suspect we're much better off just having a simple "age the page tables" thing that doesn't care abotu zones at all, and when a page table entry has been aged enough, it gets pushed into the page/swap cache. It's reasonably cheap to fault it in again, and because we use aging on the page tables we've selected a page that isn't supposed to be very active anyway.
So that's why I think the page table walker should be completely zone-blind, and just not care. It's likely to be more "balanced" that way anyway.
The "shrink_mmap()" stage is another matter entirely. shrink_mmap() has complete control over which zone it looks at, and can do a good (perfect) job of balancing the amount of work it does to how much it wants to accomplish.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |