Re: [PATCH 3/3] mlock: avoid dirtying pages and triggeringwriteback

From: Ted Ts'o
Date: Wed Nov 17 2010 - 18:52:46 EST


On Thu, Nov 18, 2010 at 10:11:43AM +1100, Dave Chinner wrote:
> I don't think ->page_mkwrite can be worked around - we need that to
> be called on the first write fault of any mmap()d page to ensure it
> is set up correctly for writeback. If we don't get write faults
> after the page is mlock()d, then we need the ->page_mkwrite() call
> during the mlock() call.

OK, so I'm not an mm hacker, so maybe I'm missing something. Could
part of this be fixed by simply sending the write faults for
mlock()'ed pages, so page_mkwrite() gets called when the page is
dirtied. Seems like a real waste to have the file system pre-allocate
all of the blocks for a mlock()'ed region. Why does mlock() have to
result in the write faults getting suppressed when the page is
actually dirtied?

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