From: Tan Pong Heng <pongheng@starnet.gov.sg>
To: "Stephen C. Tweedie" <sct@redhat.com>
Cc: "Benjamin C.R. LaHaise" <blah@kvack.org>,
Andrea Arcangeli <andrea@suse.de>,
Chris Mason <clmsys@osfmail.isc.rit.edu>,
reiserfs@devlinux.com, linux-fsdevel@vger.rutgers.edu,
linux-mm@kvack.org, Ingo Molnar <mingo@redhat.com>,
Linus Torvalds <torvalds@transmeta.com>
Subject: Re: (reiserfs) Re: RFC: Re: journal ports for 2.3?
Date: Thu, 23 Dec 1999 06:41:44 +0800 [thread overview]
Message-ID: <386153A8.C8366F70@starnet.gov.sg> (raw)
In-Reply-To: <14433.20097.10335.102803@dukat.scot.redhat.com>
"Stephen C. Tweedie" wrote:
> Hi,
>
> On Tue, 21 Dec 1999 20:21:05 -0500 (EST), "Benjamin C.R. LaHaise"
> <blah@kvack.org> said:
>
> > The buffer dirty lists are the wrong place to be dealing with this. We
> > need a lightweight, fast way of monitoring the system's dirty buffer/page
> > thresholds -- one that can be called for every write to a page or on the
> > write faults for cow pages.
>
> Precisely. The only thing that the core VM needs to export is an atomic
> counter for such pages, a wait queue so that processes can wait for
> pages to be cleaned, and a function to be called to try to reclaim such
> pages.
>
> Remember, though, that we have three different types of page we need to
> deal with. There are simple used pages, which we need to reclaim in a
> component-independent manner when we are using too much memory; then
> there are dirty pages which can be flushed to disk at any time; then
> there are reserved pages which cannot be flushed to disk without some
> extra work.
>
> The first case is simple: we already have the wait queues and reclaim
> functions in place, and all we need is an address_space callback to
> allow filesystem-specific caches to return pages when shrink_mmap()
> wants them.
>
> In the second case (dirty pages), bdflush already does some of the work,
> but we need a more generic solution of we want to support dirty data
> which is not stored in buffer_heads in a portable manner.
>
> The third case (reserved pages) is the case which doesn't affect any
> current code but which will become really important for journaled or
> deferred-allocation filesystems.
>
> --Stephen
Sorry for intruding, I have been monitoring this thread with interest.
I was thinking that, unless you want to have FS specific buffer/page cache,
there is alway a gain for a unified cache for all fs. I think the one piece
of functionality missing from the 2.3 implementation is the dependency
between the various pages. If you could specify a tree relations between
the various subset of the buffer/page and the reclaim machanism honor
that everything should be fine. For FS that does not care about ordering,
they could simply ignore this capability and the machanism could assume
that everything is in one big set and could be reclaimed in any order.
I have note been giving the complexity of implementing such functionality
a thought yet. But it seem to be feasible - since you would need to do that
any way for your FS....
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.nl.linux.org/Linux-MM/
next prev parent reply other threads:[~1999-12-22 22:41 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <000c01bf472c$8ad8cb60$8edb1581@isc.rit.edu>
1999-12-21 0:24 ` Stephen C. Tweedie
1999-12-21 10:18 ` Andrea Arcangeli
1999-12-21 13:21 ` (reiserfs) " Stephen C. Tweedie
1999-12-21 13:57 ` Andrea Arcangeli
1999-12-22 0:28 ` Stephen C. Tweedie
1999-12-23 11:51 ` Hans Reiser
1999-12-22 23:37 ` Hans Reiser
2000-01-06 17:48 ` Stephen C. Tweedie
2000-01-06 18:20 ` Andrea Arcangeli
2000-01-06 21:32 ` Hans Reiser
2000-01-07 11:51 ` Stephen C. Tweedie
2000-01-07 12:46 ` Andrea Arcangeli
2000-01-07 19:59 ` Hans Reiser
1999-12-22 1:21 ` Benjamin C.R. LaHaise
1999-12-22 22:19 ` Stephen C. Tweedie
1999-12-22 22:41 ` Tan Pong Heng [this message]
1999-12-23 3:27 ` (reiserfs) " William J. Earl
1999-12-23 15:36 ` Andrea Arcangeli
1999-12-24 5:53 ` afei
1999-12-26 8:26 ` feiliu
2000-01-02 22:24 ` Peter J. Braam
2000-01-05 13:02 ` (reiserfs) Re: RFC: Re: journal ports for 2.3? (resending because my ISP probably lost it) Hans Reiser
2000-01-05 15:22 ` Peter J. Braam
2000-01-05 15:37 ` Tigran Aivazian
2000-01-06 8:40 ` Hans Reiser
2000-01-05 15:50 ` Chris Mason
2000-01-06 8:34 ` (reiserfs) Re: RFC: Re: journal ports for 2.3? (resendingbecause " Hans Reiser
2000-01-07 1:25 ` (reiserfs) Re: RFC: Re: journal ports for 2.3? (resendingbecause my Albert D. Cahalan
2000-01-07 11:37 ` Stephen C. Tweedie
2000-01-06 17:54 ` (reiserfs) Re: RFC: Re: journal ports for 2.3? Stephen C. Tweedie
1999-12-23 12:02 ` Hans Reiser
1999-12-23 15:49 ` Andrea Arcangeli
1999-12-23 16:41 ` Hans Reiser
1999-12-27 16:31 ` Andrea Arcangeli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=386153A8.C8366F70@starnet.gov.sg \
--to=pongheng@starnet.gov.sg \
--cc=andrea@suse.de \
--cc=blah@kvack.org \
--cc=clmsys@osfmail.isc.rit.edu \
--cc=linux-fsdevel@vger.rutgers.edu \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=reiserfs@devlinux.com \
--cc=sct@redhat.com \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox