On Wed, Mar 07, 2007 at 10:32:22AM +0100, Peter Zijlstra wrote: > On Wed, 2007-03-07 at 01:07 -0800, Andrew Morton wrote: > > On Wed, 07 Mar 2007 09:51:57 +0100 Miklos Szeredi <[EMAIL PROTECTED]> wrote: > > > > > > > Dirty page accounting doesn't work either on > > > > > non-linear mappings > > > > > > > > It doesn't? Confused - these things don't have anything to do with each > > > > other do they? > > > > > > Look in page_mkclean(). Where does it handle non-linear mappings? > > > > > > > OK, I'd forgotten about that. It won't break dirty memory accounting, > > but it'll potentially break dirty memory balancing. > > > > If we have the wrong page (due to nonlinear), page_check_address() will > > fail and we'll leave the pte dirty. That puts us back to the pre-2.6.17 > > algorithms and I guess it'll break the msync guarantees. > > > > Peter, I thought we went through the nonlinear problem ages ago and decided > > it was OK? > > Can recollect as much, I modelled it after page_referenced() and can't > find any VM_NONLINEAR specific code in there either. > > Will have a hard look, but if its broken, then page_referenced if > equally broken it seems, which would make page reclaim funny in the > light of nonlinear mappings.
page_referenced is just an heuristic, and it ignores nonlinear mappings and the page which will get filtered down to try_to_unmap. Page reclaim is already "funny" for nonlinear mappings, page_referenced is the least of its worries ;) It works, though. - 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/