public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Possible Idea with filesystem buffering.
@ 2002-01-23  9:43 Martin Knoblauch
  2002-01-23 11:52 ` Helge Hafting
  0 siblings, 1 reply; 87+ messages in thread
From: Martin Knoblauch @ 2002-01-23  9:43 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org

> Re: Possible Idea with filesystem buffering.
> 
> From: Richard B. Johnson (root@chaos.analogic.com)
> Date: Tue Jan 22 2002 - 17:10:27 EST
>  
> 
> We need a free-RAM target, possibly based upon a percentage of
> available RAM. The lack of such a target is what causes the
> out-of-RAM condition we have been experiencing. Somebody thought
> that "free RAM is wasted RAM" and the VM has been based upon
> that theory. That theory has been proven incorrect. You need

 Now, I think the theory itself is OK. The problem is that the stuff in
buffer/caches is to sticky. It does not go away when "more important"
uses for memory come up. Or at least it does not go away fast enough.

> free RAM, just like you need "excess horsepower" to make
> automobiles drivable. That free RAM is the needed "rubber-band"
> to absorb the dynamics of real-world systems.
>

 Correct. The free target would help to avoid the panic/frenzy that
breaks out when we run out of free memory.

 Question: what about just setting a maximum limit to the cache/buffer
size. Either absolute, or as a fraction of total available memory? Sure,
it maybe a waste of memory in most situations, but sometimes the
administrator/user of a system simply "knows better" than the FVM (F ==
Fine ? :-)

 While being there, one could also add a "guaranteed minimum" limit for
the cache/buffer size. This way preventing a complete meltdown of IO
performance. True64 has such limits. They are usually at 100% (max) and
I think 20% (min), giving the cache access to all memory. But there were
situations where a max of 10% was just the rigth thing to do.

 I know, the tuning-knob approach is frowned upon. But sometimes there
are workloads where even the best VM may not know how to react
correctly.

Martin
-- 
------------------------------------------------------------------
Martin Knoblauch         |    email:  Martin.Knoblauch@TeraPort.de
TeraPort GmbH            |    Phone:  +49-89-510857-309
C+ITS                    |    Fax:    +49-89-510857-111
http://www.teraport.de   |    Mobile: +49-170-4904759

^ permalink raw reply	[flat|nested] 87+ messages in thread
[parent not found: <Pine.LNX.4.33.0201231301560.24338-100000@coffee.psychology.mcmaster.ca>]
[parent not found: <Pine.LNX.4.33L.0201222008280.32617-100000@imladris.surriel.com>]
* Re: Possible Idea with filesystem buffering.
@ 2002-01-22 21:02 Rolf Lear
  0 siblings, 0 replies; 87+ messages in thread
From: Rolf Lear @ 2002-01-22 21:02 UTC (permalink / raw)
  To: linux-kernel; +Cc: Rik van Riel, reiser

Excuse me for being a kernel newbie (and a list lurker), and for simplifying what is obviously a complex issue... but ... the underlying issue really is simple. Further, you are both suggesting that a change in design is not out-of-the-question.

The VM is responsible for making sure that Mem is used efficiently. The FS is responsible for making sure that the disks (both space and speed) are used efficiently.

Now, I have followed this thread for days, and I agree with Rik that the VM should be able to tell (command) the FS to free a page. I agree with Hans that "Ideally", the VM should be capable of identifying the best page to free (in terms of cost to the FS). In this ideal world, it is the responsibility of an intelligent FS to inform an intelligent VM what it can do quickly, and what will take time.

What I propose is either:
a) An indication on each dirty page the cost required to clean it.
b) A FS function which can be called which indicates the cost of a clean.

This cost should be measured in terms of something relevant like approximate IO time. FS's which do not support this system should have stubs which cost all pages equally.

The system would work as follows:
VM Needs to free some Mem, and not enough clean pages can be freed.
VM Identifies those dirty pages which are cheap to flush/clean, and does it. If VM Needs to flush an expensive page, it can still do it, but it knows whe price ahead of time (double bonus).

To identify the cheap pages, the VM can ask the FS the price, and as an added bonus, the FS can tell the VM how many other pages will get freed in the process.

In my world of client-server / databases / etc, this just makes sense. 

If this intelligent VM has a basic FS, it looses nothing. If it has an intelligent FS, it has more information to make better decisions.

Rolf

^ permalink raw reply	[flat|nested] 87+ messages in thread
* Possible Idea with filesystem buffering.
@ 2002-01-20  9:04 Shawn
  2002-01-20 11:31 ` Hans Reiser
  2002-01-20 15:49 ` Anton Altaparmakov
  0 siblings, 2 replies; 87+ messages in thread
From: Shawn @ 2002-01-20  9:04 UTC (permalink / raw)
  To: linux-kernel


I've noticed that XFS's filesystem has a separate pagebuf_daemon to handle
caching/buffering.

Why not make a kernel page/caching daemon for other filesystems to use
(kpagebufd) so that each filesystem can use a kernel daemon interface to
handle buffering and caching.

I found that XFS's buffering/caching significantly reduced I/O load on the
system (with riel's rmap11b + rml's preempt patches and Andre's IDE
patch).

But I've not been able to acheive the same speed results with ReiserFS :-(

Just as we have a filesystem (VFS) layer, why not have a buffering/caching
layer for the filesystems to use inconjunction with the VM?

Comments, suggestions, flames welcome ;)

Shawn.


^ permalink raw reply	[flat|nested] 87+ messages in thread

end of thread, other threads:[~2002-01-24 14:00 UTC | newest]

Thread overview: 87+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-23  9:43 Possible Idea with filesystem buffering 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
     [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
  -- strict thread matches above, loose matches on Subject: below --
2002-01-22 21:02 Rolf Lear
2002-01-20  9:04 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-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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox