linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Hans Reiser <hans@reiser.to>
To: Rik van Riel <riel@conectiva.com.br>
Cc: "Stephen C. Tweedie" <sct@redhat.com>, bert hubert <ahu@ds9a.nl>,
	linux-kernel@vger.rutgers.edu, Chris Mason <mason@suse.com>,
	linux-mm@kvack.org,
	Alexander Zarochentcev <zam@odintsovo.comcor.ru>
Subject: Re: journaling & VM  (was: Re: reiserfs being part of the kernel: it'snot just the code)
Date: Tue, 06 Jun 2000 18:19:22 -0700	[thread overview]
Message-ID: <393DA31A.358AE46D@reiser.to> (raw)
In-Reply-To: <Pine.LNX.4.21.0006061956360.7328-100000@duckman.distro.conectiva>

Rik van Riel wrote:
> 
> On Tue, 6 Jun 2000, Stephen C. Tweedie wrote:
> 
> > It wasn't a journaling API we were talking about for this.  The
> > problem is much more central to the VM than that --- basically,
> > the VM currently assumes that any existing page can be evicted
> > from memory with very little extra work.  It just isn't prepared
> > for the situation that you have with transactions,
> 
> > journaling itself, but the transactional requirements which are
> > the problem --- basically the VM cannot do _anything_ about
> > individual pages which are pinned by a transaction, but rather
> > we need a way to trigger a filesystem flush, AND to prevent more
> > dirtying of pages by the filesystem (these are two distinct
> > problems), or we just lock up under load on lower memory boxes.
> 
> This is especially tricky in the case of a large mmap()ed
> file. We'll have to restrict the maximum number of read-write
> mapped pages from such a file in order to keep the system
> stable...
> 
> (try mmap002 from quintela's MM test suite with a journaling
> FS for a nice change...)
> 
> > A reservation API which lets all transactional filesystems
> > reserve the right to dirty a certain number of pages in advance
> > of actually needing them is really needed to avoid such lockups.
> > The reservation call can stall if the memory limit has been
> > reached, providing flow control to the filesystem; and a
> > notification list can start committing and flushing older
> > transactions when that happens.
> 
> Indeed we need this. Since I seem to be coordinating the VM
> changes at the moment anyway, I'd love to work together with
> the journaling folks on solving this problem...
> 
> It will require some changes in the page fault path and some
> other areas...
> 
> regards,
> 
> Rik
> --
> The Internet is not a network of computers. It is a network
> of people. That is its real strength.
> 
> Wanna talk about the kernel?  irc.openprojects.net / #kernelnewbies
> http://www.conectiva.com/               http://www.surriel.com/


quite happy to see you drive it, I suggest to check with zam as he has some code
in progress.

There are two issues to address:

1) If a buffer needs to be flushed to disk, how do we let the FS flush
everything else that it is optimal to flush at the same time as that buffer. 
zam's allocate on flush code addresses that issue for reiserfs, and he has some
general hooks implemented also.  He is guessed to be two weeks away.

2) If multiple kernel subsystem page pinners pin memory, how do we keep them
from deadlocking.  Chris as you know is the reiserfs guy for that.

Hans
--
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.linux.eu.org/Linux-MM/

  reply	other threads:[~2000-06-07  1:19 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.10.10006060811120.15888-100000@dax.joh.cam.ac.uk>
     [not found] ` <393CA40C.648D3261@reiser.to>
     [not found]   ` <20000606114851.A30672@home.ds9a.nl>
     [not found]     ` <393CBBB8.554A0D2A@reiser.to>
     [not found]       ` <20000606172606.I25794@redhat.com>
     [not found]         ` <393D37D1.1BC61DC3@reiser.to>
     [not found]           ` <20000606205447.T23701@redhat.com>
2000-06-06 23:06             ` journaling & VM (was: Re: reiserfs being part of the kernel: it's not " Rik van Riel
2000-06-07  1:19               ` Hans Reiser [this message]
2000-06-07  1:46                 ` journaling & VM (was: Re: reiserfs being part of the kernel: it'snot " Quintela Carreira Juan J.
2000-06-07  3:45                   ` Hans Reiser
2000-06-07 11:15                     ` Stephen C. Tweedie
2000-06-07 13:23                       ` Rik van Riel
2000-06-07 13:41                         ` Stephen C. Tweedie
2000-06-07 14:27                           ` Rik van Riel
2000-06-07 14:46                             ` Stephen C. Tweedie
2000-06-07 14:51                               ` bert hubert
2000-06-07 15:20                               ` Quintela Carreira Juan J.
2000-06-07 15:35                                 ` Stephen C. Tweedie
2000-06-07 15:41                                   ` Rik van Riel
2000-06-07 15:44                                   ` Juan J. Quintela
2000-06-07 17:10                                   ` Jeff V. Merkey
2000-06-07 17:14                                     ` Stephen C. Tweedie
2000-06-07 17:21                                       ` Jeff V. Merkey
2000-06-07 20:16                                   ` Hans Reiser
2000-06-07 21:20                                     ` Rik van Riel
2000-06-07 21:52                                       ` journaling & VM Hans Reiser
2000-06-07 22:11                                         ` James Sutherland
2000-06-07 22:29                                           ` Rik van Riel
2000-06-08  1:11                                         ` Neil Schemenauer
2000-06-08  1:29                                           ` Rik van Riel
2000-06-07 20:16                                 ` journaling & VM (was: Re: reiserfs being part of the kernel: it'snot just the code) Hans Reiser
2000-06-07 20:54                                   ` Stephen C. Tweedie
2000-06-07 21:29                                     ` Hans Reiser
2000-06-07 21:31                                       ` Rik van Riel
2000-06-07 21:33                                       ` Stephen C. Tweedie
2000-06-07 22:20                                         ` journaling & VM Hans Reiser
2000-06-07 21:50                                       ` journaling & VM (was: Re: reiserfs being part of the kernel: it'snot just the code) Juan J. Quintela
2000-06-07 19:02                         ` journaling & VM (was: Re: reiserfs being part of the kernel:it'snot " Hans Reiser
2000-06-07 13:40                       ` journaling & VM (was: Re: reiserfs being part of the kernel: it'snot " Chris Mason
2000-06-07 13:47                         ` Stephen C. Tweedie
2000-06-07 11:12                 ` Stephen C. Tweedie
2000-06-07 16:35                   ` journaling & VM John Fremlin
2000-06-07 17:11                     ` Stephen C. Tweedie
     [not found]                       ` <20000608114435.A15433@uni-koblenz.de>
2000-06-08 21:29                         ` Stephen C. Tweedie
2000-06-09 11:53                           ` Ralf Baechle
2000-06-07 17:48                   ` journaling & VM (was: Re: reiserfs being part of the kernel: it'snot just the code) Hans Reiser
2000-06-07 18:01                     ` Rik van Riel
2000-06-07 19:58                       ` Stephen C. Tweedie
2000-06-07 20:56                         ` Juan J. Quintela
2000-06-07 21:14                           ` Rik van Riel
2000-06-07 21:24                           ` Stephen C. Tweedie
2000-06-07 21:40                             ` Juan J. Quintela
2000-06-07 21:49                               ` Stephen C. Tweedie
2000-06-07 22:00                                 ` Juan J. Quintela
2000-06-07 22:22                                 ` Manfred Spraul
2000-06-09 15:08                                   ` Rik van Riel
2000-06-09 16:52                                     ` Manfred Spraul
2000-06-09 17:23                                       ` Rik van Riel
2000-06-09 18:26                                         ` journaling & VM (was: Re: reiserfs being part of the kernel:it'snot " Manfred Spraul
2000-06-07 22:28                                 ` journaling & VM (was: Re: reiserfs being part of the kernel: it'snot " Hans Reiser
2000-06-07 10:10               ` journaling & VM (was: Re: reiserfs being part of the kernel: it's not " Stephen C. Tweedie
     [not found]             ` <393DACC8.5DB60A81@reiser.to>
2000-06-07 11:00               ` reiserfs being part of the kernel: it's not just the code Stephen C. Tweedie
2000-06-07 17:11                 ` Rik van Riel
2000-06-07 17:13                   ` Stephen C. Tweedie
2000-06-07 17:46                 ` Hans Reiser
2000-06-07 19:53                   ` Stephen C. Tweedie

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=393DA31A.358AE46D@reiser.to \
    --to=hans@reiser.to \
    --cc=ahu@ds9a.nl \
    --cc=linux-kernel@vger.rutgers.edu \
    --cc=linux-mm@kvack.org \
    --cc=mason@suse.com \
    --cc=riel@conectiva.com.br \
    --cc=sct@redhat.com \
    --cc=zam@odintsovo.comcor.ru \
    /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