On Wed, 2007-03-07 at 12:00 +0100, Nick Piggin wrote:
s/T/W/
Bah, my brain is thick and foggy today. Let us try again;
Nonlinear vmas exist because many vmas are expensive somehow, right?
Nonlinear vmas keep the page mapping in the page tables and screw rmaps.
This 'extra memory' you mentioned would be the overhead of tracking the
actual ranges?
And apparently now we want it to not suck on the rmap case :-(
Anyway, if used on a non writeback capable backing store (ramfs)
page_mkclean will never be called. If also mlocked (I think oracle does
this) then page reclaim will pass over too.
So we're only interested in the bdi_cap_accounting_dirty and VM_SHARED
case, right?
Tracking these ranges on a per-vma basis would avoid taking the mm wide
mmap_sem and so would be cheaper than regular vmas.
Would that still be too expensive?
Can't we just 'fix' it?
-