On Tuesday 16 October 2007 14:57, Eric W. Biederman wrote:
You're overwriting some buffers that were uptodate and dirty.
That would be expected to cause problems.
Sure, but it's not just about the buffers. It's the pagecache
in general. It is supposed to be invisible to the device driver
and sitting above it, and yet it is taking the buffercache and
using it to pull its data out of.
What non-testing uses does it have?
Highmem systems would definitely like it. For others, yes, all
the duplicated pages should be able to get reclaimed if memory
gets tight, along with the buffer heads, so yeah footprint may
be a tad smaller.
You'd rather not, of course, but with dirty data limits now,
it doesn't matter much. (and I doubt anybody outside testing
is going to be hammering like crazy on rd).
Note that the buffercache based ramdisk driver is going to
also be allocating with GFP_NOFS if you're talking about a
filesystem writing to its metadata. In most systems, GFP_NOFS
isn't much different to GFP_NOIO.
We could introduce a mode which allocates pages up front
quite easily if it were a problem (which I doubt it ever would
be).
-