linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Hudec <bulb@ucw.cz>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: pavel@ucw.cz, akpm@osdl.org, torvalds@osdl.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] [Request for inclusion] Filesystem in Userspace
Date: Sun, 21 Nov 2004 11:39:56 +0100	[thread overview]
Message-ID: <20041121103956.GW2870@vagabond> (raw)
In-Reply-To: <E1CVp0g-0008Cw-00@dorka.pomaz.szeredi.hu>

[-- Attachment #1: Type: text/plain, Size: 2550 bytes --]

On Sun, Nov 21, 2004 at 11:31:58 +0100, Miklos Szeredi wrote:
> > But you won't bundle the *write* requests. And that's what will be
> > painfuly slow.
> 
> Well, painfully slow is just about 100Mbytes/sec on my 1GHz C3
> machine.  Be real.

Measured under what conditions?

> >     3) Use a real disk file to back the page cache. Exactly like coda
> >        does it.
> 
> Yes, that could be done.  Not exactly like coda, because the
> filesystem would have no way of knowing exacty _what_ was written.
> For many applications it's _way_ too inefficient to write back the
> whole file on every little change.  And writing back the file on
> release would mean a) big latency b) inconsistency between the backing
> filesystem and the virtual one.
> 
> Actually latency _is_ the major problem with the CODA like interface.
> Try doing a 'less bigfile' with an sftp filesystem based on CODA and
> FUSE, and you'll see what I mean.  It will _feel_ a hell of a lot
> slower with CODA, just because you'd have to wait for the whole file
> to download to get the first byte.
> 
> > I would not be so sure about this. The deadlock is caused by the fact
> > that such pages may exist, not by their number. Limiting the number will
> > only decrease the probability the deadlock will happen, but won't make
> > it go away.
> 
> No.  The problem _is_ caused by their number, because it will only
> happen if pages cannot be freed in any other way, only by doing
> writeback to the userspace filesystem.  If there are pages which _can_
> be freed other ways, then deadlock won't happen.
> 
> Now if you limit the total number of pages that FUSE can use for
> writable memory mappings to 10% of the total memory in the machine,
> you can be pretty sure, that the remaining 90% will not be filled with
> unpageable memory (otherwise you'd be in pretty big trouble anyway).

There may be only one dirty page in the whole system and it may be the
one backed by FUSE. Now yes, if it was not backed by FUSE, I would be in
trouble -- but the OOM killer would get me out. It will *NOT* get me out
with fuse, because it thinks the page will be cleaned, which it won't.

Thus by limiting the numeber of pages, you decrease the probability that
the deadlock will happen. You may even get to reasonably small numbers.
But you can't get to 0. The deadlock will still be there, it will just
be unlikely.

-------------------------------------------------------------------------------
						 Jan 'Bulb' Hudec <bulb@ucw.cz>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2004-11-21 10:40 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-15 21:15 [PATCH] [Request for inclusion] Filesystem in Userspace Miklos Szeredi
2004-11-15 21:43 ` Greg KH
2004-11-15 22:35 ` Linus Torvalds
2004-11-16  9:08   ` Miklos Szeredi
2004-11-16  9:18     ` Arjan van de Ven
2004-11-16  9:40       ` Miklos Szeredi
2004-11-16  9:46         ` Arjan van de Ven
2004-11-16  9:52           ` Miklos Szeredi
2004-11-16 10:17             ` David Woodhouse
2004-11-16 10:25               ` Miklos Szeredi
2004-11-16 10:13     ` Pekka Enberg
2004-11-16 10:20       ` Miklos Szeredi
2004-11-16 10:35         ` Pekka Enberg
2004-11-16 10:42           ` Miklos Szeredi
2004-11-16 12:19             ` Pekka Enberg
2004-11-16 11:02         ` Jan Kratochvil
2004-11-16 14:01           ` Miklos Szeredi
2004-11-16 16:33             ` Greg KH
2004-11-16 16:45               ` Miklos Szeredi
2004-11-16 17:03                 ` Greg KH
2004-11-16 17:50                   ` Miklos Szeredi
2004-11-16 17:58                     ` Greg KH
2004-11-16 19:09                       ` Miklos Szeredi
2004-11-16 19:16                         ` Greg KH
2004-11-16 19:30                           ` Miklos Szeredi
2004-11-16 19:38                             ` Greg KH
2004-11-16 19:24                         ` Jan Engelhardt
2004-11-16 19:32                           ` Miklos Szeredi
2004-11-16 19:42                             ` Anton Altaparmakov
2004-11-16 19:48                               ` Jan Engelhardt
2004-11-16 20:12                               ` Miklos Szeredi
2004-11-17 15:42               ` Miklos Szeredi
2004-11-17 16:57                 ` Nikita Danilov
2004-11-17 17:10                   ` Jan Engelhardt
2004-11-17 17:33                     ` Nikita Danilov
2004-11-17 17:38                       ` Jan Engelhardt
2004-11-17 17:58                         ` Nikita Danilov
2004-11-17 18:09                           ` Jan Engelhardt
2004-11-17 19:58                             ` Mike Waychison
2004-11-17 18:53                           ` [PATCH] " Al Viro
2004-11-17 17:56                   ` Miklos Szeredi
2004-11-17 18:11                     ` Greg KH
2004-11-17 18:17                       ` Miklos Szeredi
2004-11-17 18:20                     ` Nikita Danilov
2004-11-17 17:52                 ` Greg KH
2004-11-17 15:36             ` Alan Cox
2004-11-17 21:37               ` Bryan Henderson
2004-11-17 19:00 ` Pavel Machek
2004-11-17 19:45   ` Miklos Szeredi
2004-11-17 20:44     ` Pavel Machek
2004-11-18  8:17       ` Miklos Szeredi
2004-11-18 14:46         ` Pavel Machek
2004-11-21  7:42           ` Miklos Szeredi
2004-11-21  7:50             ` Miklos Szeredi
2004-11-21  9:50             ` Jan Hudec
2004-11-21 10:31               ` Miklos Szeredi
2004-11-21 10:39                 ` Jan Hudec [this message]
2004-11-21 11:29                   ` Miklos Szeredi
2004-11-21 11:53                     ` Anton Altaparmakov
2004-11-21 12:01                       ` Miklos Szeredi
2004-11-21 18:13             ` Pavel Machek
2004-11-22 16:12               ` Miklos Szeredi
2004-11-18 17:00         ` Bryan Henderson
2004-11-18 17:14           ` Miklos Szeredi
2004-11-18 18:49             ` Bryan Henderson
2004-11-18 19:12               ` Miklos Szeredi
2004-11-19  7:01               ` Jan Engelhardt
2004-11-20 12:00             ` Jan Hudec
2004-11-18 17:12         ` Bryan Henderson
2004-11-18 17:28           ` Miklos Szeredi
2004-11-18 18:01             ` Linus Torvalds
2004-11-18 17:29               ` Alan Cox
2004-11-18 18:55                 ` Linus Torvalds
2004-11-18 19:28                   ` Miklos Szeredi
2004-11-19  9:46                     ` Pavel Machek
2004-11-18 20:57                   ` Andrew Morton
2004-11-24  6:20                     ` Daniel Phillips
2004-11-24 12:15                 ` Avi Kivity
2004-11-24 13:05                   ` Miklos Szeredi
     [not found]                     ` <200411242001.59504.oliver@neukum.org>
2004-11-24 19:20                       ` Miklos Szeredi
2004-11-25  6:26                     ` Jan Hudec
2004-11-25  7:29                       ` Miklos Szeredi
2004-11-25  7:47                         ` Jan Hudec
2004-11-25  9:15                           ` Miklos Szeredi
2004-11-25  9:54                           ` Pavel Machek
2004-11-30 18:44                     ` Avi Kivity
2004-11-30 19:16                       ` Miklos Szeredi
2004-11-30 19:55                         ` Avi Kivity
2004-11-30 21:13                           ` Miklos Szeredi
2004-11-30 21:37                             ` Avi Kivity
2004-11-30 21:58                               ` Miklos Szeredi
2004-11-30 22:57                                 ` Avi Kivity
2004-11-30 23:19                                   ` Miklos Szeredi
2004-12-15 17:55                                     ` Avi Kivity
2004-12-15 21:49                                       ` Miklos Szeredi
2004-12-03 22:07                               ` Daniel Phillips
2004-12-15 17:45                                 ` Avi Kivity
2004-12-01  7:16                             ` Jan Hudec
2004-12-01 13:35                               ` Miklos Szeredi
2004-11-30 21:54                       ` Pavel Machek
2004-11-18 18:21               ` Miklos Szeredi
2004-11-18 18:31                 ` Linus Torvalds
2004-11-18 18:56                   ` Miklos Szeredi
2004-11-18 19:16                     ` Linus Torvalds
2004-11-18 19:33                       ` Miklos Szeredi
2004-11-18 19:43                         ` Linus Torvalds
2004-11-18 20:05                           ` Miklos Szeredi
2004-11-18 21:06                     ` Andrew Morton
2004-11-18 21:33                       ` Miklos Szeredi
2004-11-19 11:27                       ` Miklos Szeredi
2004-11-27 17:07                         ` Rik van Riel
2004-11-27 17:13                           ` Pavel Machek
2004-12-03 22:07                           ` Daniel Phillips
2004-11-18 20:16                   ` Elladan
2004-11-18 18:28               ` Jamie Lokier
2004-11-18 18:47                 ` Linus Torvalds
2004-11-18 19:12             ` Bryan Henderson
2004-11-18 19:51               ` Miklos Szeredi
2004-11-18 22:00                 ` Jan Hudec

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=20041121103956.GW2870@vagabond \
    --to=bulb@ucw.cz \
    --cc=akpm@osdl.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=pavel@ucw.cz \
    --cc=torvalds@osdl.org \
    /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;
as well as URLs for NNTP newsgroup(s).