public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Chris Wedgwood <cw@f00f.org>
Cc: Jens Axboe <axboe@suse.de>, Rogier Wolff <R.E.Wolff@BitWizard.nl>,
	Linus Torvalds <torvalds@transmeta.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	volodya@mindspring.com, Alexander Viro <viro@math.psu.edu>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] SMP race in ext2 - metadata corruption.
Date: Sun, 6 May 2001 05:51:17 +0200	[thread overview]
Message-ID: <20010506055117.D22850@athlon.random> (raw)
In-Reply-To: <Pine.LNX.4.21.0105031017460.30346-100000@penguin.transmeta.com> <200105041140.NAA03391@cave.bitwizard.nl> <20010504135614.S16507@suse.de> <20010504172940.U3762@athlon.random> <20010505151808.A29451@metastasis.f00f.org> <20010506023723.A22850@athlon.random> <20010506141437.A31269@metastasis.f00f.org> <20010506045001.C22850@athlon.random> <20010506150058.A31393@metastasis.f00f.org>
In-Reply-To: <20010506150058.A31393@metastasis.f00f.org>; from cw@f00f.org on Sun, May 06, 2001 at 03:00:58PM +1200

On Sun, May 06, 2001 at 03:00:58PM +1200, Chris Wedgwood wrote:
> On Sun, May 06, 2001 at 04:50:01AM +0200, Andrea Arcangeli wrote:
> 
>     Moving e2fsck into the kernel is a completly different matter
>     than caching the blockdevice accesses with pagecache instead of
>     buffercache.
> 
> No, I was takling about user space fsck using character devices.

I misread your previous email sorry, I think you meant to fsck using
rawio (not to move fsck into the kernel). You can do that just now but
to get decent performance then fsck should do self caching, changing
fsck to do self caching doesn't sound worthwhile either. Note also that
rawio has nothing to do with the pagecache.  Infact both rawio and
O_DIRECT bypasses all the pagecache and its smp locks for example.

> I'm not claiming it is... what I'm asking is _why_ do we need block
> devices once 'everything' lives in the page cache?

Where the cache of the blockdevice lives is a completly orthogonal
problem with "why cached blockdevices are useful" which I addressed in
the previous email.

>     It's just that by doing it in pagecache you can mmap it as well
>     and it will provide overall better performance and it's probably
>     cleaner design. The only visible change is that you will be able
>     to mmap a blockdevice as well.
> 
> Why? What needs to mmap a block device? Since these are typically
> larger than that you can mmap into a 32-bit address space (yes, I'm
> ignoring the 5% or so of cases where this isn't true) I'm not aware
> on many applications that do it.

Last time I talked with the parted maintainer he was asking for that
feature so that parted won't need to do its own anti-oom management in
userspace, so he can simple mmap(MAP_SHARED) a quite large region of
metadata of the blockdevice, read/write to the mmaped region and the
kernel will take care of doing paging when it runs low on memory. right
now it allocates the metadata in anonymous memory and loads it via
read(). This memory will need to be swapped out if the working set
doesn't fit in ram (and swap may not be available ;).

> As I said, I'm not takling about kernel based fsck, although for
> _VERY_ large filesystems even with journalling I suspect it will be
> required one day (so it can run in the background and do consistency
> checking when the machine is idle).

Being able to fsck a live filesystem is yet another exotic feature and
yes for that you would certainly need some additional kernel support.

Andrea

  parent reply	other threads:[~2001-05-06  3:52 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-26 15:45 [PATCH] SMP race in ext2 - metadata corruption Alexander Viro
2001-04-26 18:12 ` Andrea Arcangeli
2001-04-26 18:24   ` Alexander Viro
2001-04-26 19:00     ` Chris Mason
2001-04-26 18:49   ` Linus Torvalds
2001-04-26 19:08     ` Alexander Viro
2001-04-26 19:17       ` Alexander Viro
2001-04-26 20:06         ` Andrea Arcangeli
2001-04-26 19:15     ` Andrea Arcangeli
2001-04-26 19:34       ` Alexander Viro
2001-04-26 19:44         ` Andrea Arcangeli
2001-04-26 19:55           ` Alexander Viro
2001-04-26 20:08             ` Linus Torvalds
2001-04-26 20:21               ` Andrea Arcangeli
2001-04-26 20:49               ` Alexander Viro
2001-04-26 21:07                 ` Andrea Arcangeli
2001-04-26 23:25                   ` Alexander Viro
2001-04-27  0:05                     ` Andrea Arcangeli
2001-04-27  0:19                       ` Linus Torvalds
2001-04-27  0:35                         ` Andrea Arcangeli
2001-04-26 21:13               ` Andrzej Krzysztofowicz
2001-04-27 18:02                 ` LA Walsh
2001-04-27 18:17                   ` dek_ml
2001-04-27  7:58               ` Vojtech Pavlik
2001-04-27 13:23                 ` Alexander Viro
2001-04-27 14:32                   ` Ville Herva
2001-04-27 16:52                 ` Linus Torvalds
2001-04-27 19:22                   ` Shane Wegner
2001-04-28  4:55                   ` Albert D. Cahalan
2001-04-28 10:05                     ` Jens Axboe
2001-04-27 14:29               ` Andi Kleen
2001-05-03  6:23               ` volodya
2001-05-03  9:29                 ` Alan Cox
2001-05-03 17:21                   ` Linus Torvalds
2001-05-04 11:40                     ` Rogier Wolff
2001-05-04 11:56                       ` Jens Axboe
2001-05-04 15:29                         ` Andrea Arcangeli
2001-05-04 17:40                           ` Linus Torvalds
2001-05-05  3:18                           ` Chris Wedgwood
2001-05-06  0:37                             ` Andrea Arcangeli
2001-05-06  2:14                               ` Chris Wedgwood
2001-05-06  2:50                                 ` Andrea Arcangeli
2001-05-06  3:00                                   ` Chris Wedgwood
2001-05-06  3:15                                     ` Alexander Viro
2001-05-06  3:32                                       ` Chris Wedgwood
2001-05-06  3:59                                         ` Alexander Viro
2001-05-06 12:47                                           ` Alan Cox
2001-05-06 19:46                                             ` Andreas Dilger
2001-05-06 20:58                                               ` Alan Cox
2001-05-07  4:08                                                 ` Andreas Dilger
2001-05-07 18:42                                           ` Pavel Machek
2001-05-11 14:54                                             ` Daniel Phillips
2001-05-18 14:46                                               ` Stephen C. Tweedie
2001-05-11 20:00                                             ` Alexander Viro
2001-05-06  3:38                                     ` Andreas Dilger
2001-05-06  3:51                                     ` Andrea Arcangeli [this message]
2001-05-04 12:15                       ` Marc SCHAEFER
2001-05-04 17:28                       ` Linus Torvalds
2001-05-04 17:39                         ` Alexander Viro
2001-05-04 17:55                           ` Linus Torvalds
2001-05-04 18:29                             ` Alexander Viro
2001-05-04 19:13                               ` Linus Torvalds
2001-05-05 11:20                               ` Albert D. Cahalan
2001-05-05 17:11                                 ` Alexander Viro
2001-05-04 18:20                         ` Richard Gooch
2001-05-04 18:35                           ` Alexander Viro
2001-05-04 18:49                             ` Richard Gooch
2001-05-04 19:15                               ` Alexander Viro
2001-05-04 19:36                                 ` Richard Gooch
2001-05-04 19:58                                   ` Alexander Viro
2001-05-04 20:04                                     ` Richard Gooch
2001-05-04 19:04                           ` Jens Axboe
2001-05-05 13:52                           ` Rogier Wolff
2001-05-05 18:12                             ` Richard Gooch
2001-05-08 13:46                           ` volodya
2001-05-09 10:30                             ` Helge Hafting
2001-05-04 21:11                         ` Alan Cox
2001-05-04 21:50                           ` Linus Torvalds
2001-04-26 20:11             ` Andrea Arcangeli
2001-04-26 20:14               ` Andrea Arcangeli
2001-04-26 20:26               ` Linus Torvalds
2001-04-26 21:16                 ` Andrea Arcangeli
2001-04-26 20:42         ` Richard B. Johnson
2001-04-26 20:55           ` Alexander Viro
2001-04-27 11:43             ` Richard B. Johnson
2001-04-26 19:39       ` Andrea Arcangeli
     [not found] <Pine.LNX.4.21.0104270953280.2067-100000@penguin.transmeta.com>
2001-04-27 17:36 ` Jeff Garzik
     [not found] ` <3AE9A69B.D11F0BBD@evision-ventures.com>
2001-04-28  8:31   ` Matthias Urlichs
2001-04-28 13:20   ` Olaf Titz
2001-04-30  8:47 ` Neil Conway

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=20010506055117.D22850@athlon.random \
    --to=andrea@suse.de \
    --cc=R.E.Wolff@BitWizard.nl \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=axboe@suse.de \
    --cc=cw@f00f.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    --cc=volodya@mindspring.com \
    /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