Re: [Ext2-devel] Re: Possible Idea with filesystem buffering.

Hans Reiser (reiser@namesys.com)
Wed, 23 Jan 2002 23:48:15 +0300


Stephen C. Tweedie wrote:

>Hi,
>
>On Tue, Jan 22, 2002 at 05:03:02PM -0200, Rik van Riel wrote:
>
>>On Tue, 22 Jan 2002, Andrew Morton wrote:
>>
>>>Hans Reiser wrote:
>>>
>>>Note that writepage() doesn't get used much. Most VM-initiated
>>>filesystem writeback activity is via try_to_release_page(), which
>>>has somewhat more vague and flexible semantics.
>>>
>>We may want to change this though, or at the very least get
>>rid of the horrible interplay between ->writepage and
>>try_to_release_page() ...
>>
>
>This is actually really important --- writepage on its own cannot
>distinguish between requests to flush something to disk (eg. msync or
>fsync), and requests to evict dirty data from memory.
>
>This is really important for ext3's data journaling mode --- syncing
>to disk only requires flushing as far as the journal, but evicting
>dirty pages requires a full writeback too. That's one place where our
>traditional VM notion of writepage just isn't quite fine-grained
>enough.
>
>Cheers,
> Stephen
>
>
I think this is a good point Stephen is making.

So we have:

* write this particular page at this particular memory address (for DMA
setup or other reasons).

* write the data on this page

* apply X units of aging pressure to the subcache if it is distinct from
the general cache and supports a pressure operation.

as the three distinct needs we are needing to serve in the design of the
interface.

Rik, are you comfortable now with this cache plugin approach I am
advocating now that I have explained it is motivated by the need to
handle objects that are not flushed in pages? You have had another day
to think about it, and you didn't quite say yes (though it did seem you
no longer think me crazy).

Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/