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

Andrew Morton
2007-03-07T08:35:35Z

On Wed, 7 Mar 2007 09:27:55 +0100 Ingo Molnar <mingo@elte.hu> wrote:

>
> * Nick Piggin <npiggin@suse.de> wrote:
>
> > If it doesn't look very impressive, it could be because it leaves all
> > the old crud around for backwards compatibility (the worst offenders
> > are removed in patch 6/6).
> >
> > If you look at the patchset as a whole, it removes about 250 lines,
> > mostly of (non trivial) duplicated code in filemap.c memory.c shmem.c
> > fremap.c, that is nonlinear pages specific and doesn't get anywhere
> > near the testing that the linear fault path does.
> >
> > A minimal fix for nonlinear pages would have required changing all
> > ->populate handlers, which I simply thought was not very productive
> > considering the testing and coverage issues, and that I was going to
> > rewrite the nonlinear path anyway.
> >
> > If you like, you can consider patches 1,2,3 as the fix, and ignore
> > nonlinear (hey, it doesn't even bother checking truncate_count
> > today!).
> >
> > Then 4,5,6 is the fault/nonlinear rewrite, take it or leave it. I
> > thought you would have liked the patches...
>
> btw., if we decide that nonlinear isnt worth the continuing maintainance
> pain, we could internally implement/emulate sys_remap_file_pages() via a
> call to mremap() and essentially deprecate it, without breaking the ABI
> - and remove all the nonlinear code. (This would split fremap areas into
> separate vmas)
>

I'm rather regretting having merged it - I don't think it has been used for
much.

Paolo's UML speedup patches might use nonlinear though.