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

Ingo Molnar
2007-03-07T08:28:35Z

* 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)

Ingo