From: Hans Reiser <reiser@namesys.com>
To: Rik van Riel <riel@conectiva.com.br>
Cc: Shawn Starr <spstarr@sh0n.net>, linux-kernel@vger.kernel.org
Subject: Re: Possible Idea with filesystem buffering.
Date: Mon, 21 Jan 2002 14:10:21 +0300 [thread overview]
Message-ID: <3C4BF71D.4010209@namesys.com> (raw)
In-Reply-To: <Pine.LNX.4.33L.0201202321350.32617-100000@imladris.surriel.com>
Rik van Riel wrote:
>On Mon, 21 Jan 2002, Hans Reiser wrote:
>
>>Rik van Riel wrote:
>>
>
>>>I take it you're volunteering to bring ext3, XFS, JFS,
>>>JFFS2, NFS, the inode & dentry cache and smbfs into
>>>shape so reiserfs won't get unbalanced ?
>>>
>
>>If they use writepage(), then the job of balancing cache cleaning is
>>done, we just use writepage as their pressuring mechanism.
>>Any FS that wants to optimize cleaning can implement a VFS method, and
>>any FS that wants to optimize freeing can implement a VFS method, and
>>all others can use their generic VM current mechanisms.
>>
>
>It seems you're still assuming that different filesystems will
>all see the same kind of load.
>
I don't understand this comment.
>
>
>Freeing cache (or at least, applying pressure) really is a job
>for the VM because none of the filesystems will have any idea
>exactly how busy the other filesystems are.
>
I fully agree, and it is the point I have been making (poorly, since it
has not
communicated) for as long as I have been discussing it with you. The VM
should
apply pressure to the caches. It should define an interface that
subcache managers
act in response to. The larger a subcache is, the more percentage of
total memory
pressure it should receive. The amount of memory pressure per unit of
time should
be determined by the VM.
Note that there are two kinds of pressure, cleaning pressure and freeing
pressure.
I think that the structure appropriate for delegating them is the same,
but someone
may correct me.
Also note that a unit of pressure is a unit of aging, not a unit of
freeing/cleaning. The application of pressure does not necessarily free
a page, it
merely ages the subcache, which might or might not free a page depending
on how much
use is being made of what is in the subcache.
Thus, a subcache receives pressure to grow from somewhere (things like
write()
in the case of ReiserFS), and pressure to shrink from VM, and VM exerts
however
much total pressure on all the subcaches is required to not run out of
memory.
The mechanism of going through pages, seeing what subcache they belong
to, and
pressuring that subcache, is a decent one (if a bit CPU cache expensive)
for obtaining
linearly proportional cache pressure. Since code inertia favors it,
let's use it for now.
Hans
next prev parent reply other threads:[~2002-01-21 11:14 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-20 9:04 Possible Idea with filesystem buffering Shawn
2002-01-20 11:31 ` Hans Reiser
2002-01-20 13:56 ` Rik van Riel
2002-01-20 14:21 ` Hans Reiser
2002-01-20 15:13 ` Rik van Riel
2002-01-20 21:15 ` Hans Reiser
2002-01-20 21:24 ` Rik van Riel
2002-01-20 21:30 ` Hans Reiser
2002-01-20 21:40 ` Rik van Riel
2002-01-20 21:49 ` Hans Reiser
2002-01-20 22:00 ` Rik van Riel
2002-01-21 0:10 ` Matt
2002-01-21 0:57 ` Hans Reiser
2002-01-21 1:28 ` Anton Altaparmakov
2002-01-21 2:29 ` Shawn Starr
2002-01-21 19:15 ` Shawn Starr
2002-01-22 22:02 ` Hans Reiser
2002-01-21 9:21 ` Horst von Brand
2002-01-21 9:13 ` Horst von Brand
2002-01-21 15:29 ` Eric W. Biederman
2002-01-20 17:51 ` Mark Hahn
2002-01-20 21:24 ` Hans Reiser
2002-01-20 21:32 ` Rik van Riel
2002-01-21 15:37 ` Eric W. Biederman
2002-01-20 22:45 ` Shawn Starr
2002-01-20 23:11 ` Rik van Riel
2002-01-20 23:40 ` Shawn Starr
2002-01-20 23:48 ` Rik van Riel
2002-01-21 0:44 ` Hans Reiser
2002-01-21 0:52 ` Rik van Riel
2002-01-21 1:08 ` Hans Reiser
2002-01-21 1:39 ` Rik van Riel
2002-01-21 11:10 ` Hans Reiser [this message]
2002-01-21 12:12 ` Rik van Riel
2002-01-21 13:42 ` Hans Reiser
2002-01-21 13:54 ` Rik van Riel
2002-01-21 14:07 ` Hans Reiser
2002-01-21 17:21 ` Chris Mason
2002-01-21 17:47 ` Hans Reiser
2002-01-21 19:44 ` Chris Mason
2002-01-21 20:41 ` Hans Reiser
2002-01-21 21:53 ` Chris Mason
2002-01-22 6:02 ` Andreas Dilger
2002-01-22 10:09 ` Tommi Kyntola
2002-01-22 11:39 ` Hans Reiser
2002-01-22 18:41 ` Andrew Morton
2002-01-22 19:03 ` Rik van Riel
2002-01-23 20:35 ` [Ext2-devel] " Stephen C. Tweedie
2002-01-23 20:48 ` Hans Reiser
2002-01-23 20:55 ` Andrew Morton
2002-01-23 23:53 ` Hugh Dickins
2002-01-24 0:01 ` Jeff Garzik
2002-01-22 20:19 ` Hans Reiser
2002-01-22 20:50 ` Rik van Riel
2002-01-22 14:03 ` Chris Mason
2002-01-22 14:39 ` Rik van Riel
2002-01-22 18:46 ` Hans Reiser
2002-01-22 19:19 ` Chris Mason
2002-01-22 20:13 ` Steve Lord
2002-01-22 21:22 ` Chris Mason
2002-01-22 20:32 ` Hans Reiser
2002-01-22 21:08 ` Chris Mason
2002-01-22 22:05 ` Hans Reiser
2002-01-22 22:21 ` Rik van Riel
2002-01-23 0:16 ` Hans Reiser
2002-01-22 22:10 ` Richard B. Johnson
2002-01-23 1:14 ` Stuart Young
2002-01-23 17:16 ` Daniel Phillips
2002-01-22 21:12 ` Rik van Riel
2002-01-22 21:28 ` Shawn Starr
2002-01-22 21:31 ` Rik van Riel
2002-01-22 20:20 ` Rik van Riel
2002-01-22 22:31 ` Hans Reiser
2002-01-22 23:34 ` Rik van Riel
2002-01-23 17:15 ` Josh MacDonald
2002-01-21 0:28 ` Hans Reiser
2002-01-21 0:47 ` Rik van Riel
2002-01-21 1:01 ` Hans Reiser
2002-01-21 1:21 ` Rik van Riel
2002-01-21 1:26 ` Hans Reiser
2002-01-21 1:40 ` Rik van Riel
2002-01-20 15:49 ` Anton Altaparmakov
2002-01-20 21:21 ` Hans Reiser
-- strict thread matches above, loose matches on Subject: below --
2002-01-22 21:02 Rolf Lear
[not found] <Pine.LNX.4.33L.0201222008280.32617-100000@imladris.surriel.com>
2002-01-22 23:31 ` Shawn Starr
2002-01-22 23:37 ` Rik van Riel
2002-01-23 5:26 ` Shawn Starr
2002-01-23 9:43 Martin Knoblauch
2002-01-23 11:52 ` Helge Hafting
2002-01-23 12:02 ` Rik van Riel
2002-01-23 12:11 ` Martin Knoblauch
[not found] <Pine.LNX.4.33.0201231301560.24338-100000@coffee.psychology.mcmaster.ca>
[not found] ` <3C4FC478.BCC44CDF@TeraPort.de>
[not found] ` <3C4FDB80.C9F83EBB@aitel.hist.no>
2002-01-24 13:59 ` Martin Knoblauch
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=3C4BF71D.4010209@namesys.com \
--to=reiser@namesys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@conectiva.com.br \
--cc=spstarr@sh0n.net \
/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