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

From: Andrew Morton
Date: Wed Mar 07 2007 - 04:40:55 EST


On Wed, 7 Mar 2007 01:29:03 -0800 Bill Irwin <bill.irwin@xxxxxxxxxx> wrote:

> On Wed, 7 Mar 2007 09:27:55 +0100 Ingo Molnar <mingo@xxxxxxx> wrote:
> >> 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)
>
> On Wed, Mar 07, 2007 at 12:35:20AM -0800, Andrew Morton wrote:
> > 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.
>
> Guess what major real-life application not only uses nonlinear daily
> but would even be very happy to see it extended with non-vma-creating
> protections and more?

uh-oh. SQL server?

> It's not terribly typical for things to be
> truncated while remap_file_pages() is doing its work, though it's been
> proposed as a method of dynamism. It won't stress remap_file_pages() vs.
> truncate() in any meaningful way, though, as userspace will be rather
> diligent about clearing in-use data out of the file offset range to be
> truncated away anyway, and all that via O_DIRECT.

The problem here isn't related to truncate or direct-IO. It's just
plain-old MAP_SHARED. nonlinear VMAs are now using the old-style
dirty-memory management. msync() is basically a no-op and the code is
wildly tricky and pretty much untested. The chances that we broke it are
considerable.

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