lkml.org 
[lkml]   [1999]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: Linux Buffer Cache Does Not Support Mirroring
Hi,

On Mon, 01 Nov 1999 02:13:32 -0700, "Jeff V. Merkey"
<jmerkey@timpanogas.com> said:

> Actually, if you guys would design something a littler newer than circa
> 1973 for your buffer cache design, things would be easier. The buffer
> cache acts this way becuase it is based on a PRIMITIVE design that's not
> far off from the textbook description found in "UNIX: a practical
> implementation." Novell was doing mirroring and distributed mirroring
> since about 1984. We are just trying to get linux closer to the 1990's.

The buffer cache is not intended to provide primary support for doing
advanced IO control. If you want to do mirroring, then fine, do it at a
different layer. We have 2 open source journaling implementations for
Linux right now which work above the buffer cache, and software raid
working below it. In 2.3, _all_ file write activity bypasses the buffer
cache entirely. The fact that the process performing write-behind in
2.3 happens to be bdflush in buffer.c is almost incidental: it could
just as easily be done at the VFS layer. Ext3 journaling on 2.2 also
bypasses the buffer cache to perform IO.

The buffer cache isn't the place to provide mirroring. Do it above or
below. Why wouldn't a low-level mirroring driver below ll_rw_block do
what you want? Even if it didn't, you could achieve the same effect
within the page cache using specialised write-back routines.

The main lack in this area is one you pointed out in an earlier email
--- the lack of any way for the VM to request that the owner of an
arbitrary page of the page cache or buffer cache release that page
prevents easy memory balancing between cache consumers. We're
discussing ways to deal with that in 2.3/2.5.

--Stephen

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

\
 
 \ /
  Last update: 2005-03-22 13:54    [W:0.164 / U:0.456 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site