Re: [patch 4/6] mm: merge populate and nopage into fault (fixesnonlinear)

From: Peter Zijlstra
Date: Wed Mar 07 2007 - 04:34:18 EST


On Wed, 2007-03-07 at 01:07 -0800, Andrew Morton wrote:
> On Wed, 07 Mar 2007 09:51:57 +0100 Miklos Szeredi <miklos@xxxxxxxxxx> 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.

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