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

From: Miklos Szeredi
Date: Wed Mar 07 2007 - 03:39:50 EST


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

That would make sense. Dirty page accounting doesn't work either on
non-linear mappings, and I can't see how that could be fixed in any
other way.

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