public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: Chris Mason <mason@suse.com>
Cc: Rik van Riel <riel@conectiva.com.br>,
	Andreas Dilger <adilger@turbolabs.com>,
	Shawn Starr <spstarr@sh0n.net>,
	linux-kernel@vger.kernel.org, ext2-devel@lists.sourceforge.net
Subject: Re: Possible Idea with filesystem buffering.
Date: Tue, 22 Jan 2002 23:32:09 +0300	[thread overview]
Message-ID: <3C4DCC49.1080202@namesys.com> (raw)
In-Reply-To: <Pine.LNX.4.33L.0201221234470.32617-100000@imladris.surriel.com> <3C4DB36F.4090306@namesys.com> <2080500000.1011727185@tiny>

Chris Mason wrote:

>
>On Tuesday, January 22, 2002 09:46:07 PM +0300 Hans Reiser
><reiser@namesys.com> wrote:
>
>>Rik van Riel wrote:
>>
>>>>The FS doesn't know how long a page has been dirty, or how often it
>>>>gets used,
>>>>
>>>In an efficient system, the FS will never get to know this, either.
>>>
>>I don't understand this statement.  If dereferencing a vfs op for every
>>page aging is too expensive, then ask it to age more than one page at a
>>time.  Or do I miss your meaning?
>>
>
>Its not about the cost of a function call, it's what the FS does to make
>that call useful.  Pretend for a second the VM tells the FS everything it
>needs to know to age a page (whatever scheme the FS wants to use).
>
>Then pretend the VM decides there's memory pressure, and tells the FS
>subcache to start freeing ram.  So, the FS goes through its list of pages
>and finds the most suitable one for flushing, but it has no idea how
>suitable that page is in comparison with the pages that don't belong to
>that FS (or even other pages from different mount points of the same FS
>flavor).
>

Why does it need to know how suitable it is compared to the other 
subcaches?  It just ages X pages, and depends on the VM to determine how 
large X is.  The VM pressures subcaches in proportion to their size, it 
doesn't need to know  how suitable one page is compared to another, it 
just has a notion of push on everyone in proportion to their size.

>
>
>Since each subcache has its own aging scheme, you can't look at a page from
>subcache A and compare it with a page from subcache B.
>

Chris, the VM doesn't compare one page to another within a unified 
cache, so why should it compare one page to another within the delegated 
cache management scheme?  The VM ages until it gets what it wants, in 
the current scheme.  In the scheme I propose it requests aging from the 
subcaches until it gets what it wants, instead of doing aging until it 
gets what it wants.

Note that there is some slight inaccuracy in this, in that the current 
scheme has ordered lists, but my point remains valid, especially if we 
move to aging based on usage minus age counts, which I think Rik may be 
supportive of do (it makes it easier to give less staying power to a 
page that is read only once, and I would say it was Rik's idea except 
that I have probably distorted it in repeating it).

>
>
>All the filesystem can do is flush its own pages, which might be the least
>suitable pages on the entire box.  The VM has no way of knowing, and
>neither does the FS, and that's why its inefficient.
>
>Please let me know if I misunderstood the original plan ;-)
>
Thanks for pointing out what needed to be articulated.  Is it more clear 
now?

Hans



  parent reply	other threads:[~2002-01-22 20:36 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
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 [this message]
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=3C4DCC49.1080202@namesys.com \
    --to=reiser@namesys.com \
    --cc=adilger@turbolabs.com \
    --cc=ext2-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mason@suse.com \
    --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