linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Szabolcs Szakacsits <szaka@ntfs-3g.org>
To: Anton Altaparmakov <aia21@cam.ac.uk>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
	dwmw2@infradead.org, hch@infradead.org, me@bobcopeland.com,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 0/7] OMFS filesystem version 3
Date: Mon, 14 Apr 2008 15:46:33 +0300 (EEST)	[thread overview]
Message-ID: <Pine.LNX.4.62.0804141444320.22065@tamago.serverit.net> (raw)
In-Reply-To: <14725485.776281208170999085.JavaMail.szaka@kolumbus.fi>


On Mon, 14 Apr 2008 Anton Altaparmakov wrote:
> On 14 Apr 2008, at 08:49, Andrew Morton wrote:
> > On Mon, 14 Apr 2008 09:25:46 +0200 Miklos Szeredi  <miklos@szeredi.hu>
> > wrote:
> > 
> > > And I didn't advocate moving
> > > ntfs to fuse, still that was done and the resulting filesystem at the
> > > moment happens to outperform the kernel one in every respect ;)
> > 
> > Gad.  Why?

Well, not only the kernel ntfs (in metadata operations) but also XFS, JFS, 
ext2 in metadata operations, ext3 in large bulk writes on commodity 
hardware.

It's also important to note that ntfs-3g isn't optimized yet at all. There 
are several major performance bootlenecks still in the kernel, FUSE and 
ntfs-3g itself.

Answering the why, the issue is almost never the context switch but the 
file system design and the quality of the implementation. While the latter 
still needs a lot of work on several areas (the size of the Microsoft NTFS 
driver is almost like all the in-kernel file system altogether) but the 
design can very nicely compensate the latter. E.g. ntfs (and ntfs-3g) 
already supports almost all the things what ext4 will include.

> No-one has "moved" ntfs to fuse.  

Yes, historically the user space ntfs code was moved to the kernel. The 
kernel always lagged somehow behind when this work was stopped a few years 
ago.

> However the kernel one as available in the kernel source tree doesn't 
> have many write-features, it can only overwrite files, it cannot 
> create/delete files, etc.  So I guess if you define "performance" to mean 
> "features" then sure ntfsmount/ntfs-3g have more features than the public 
> kernel driver.  If you define "performance" to mean "speed" then no 
> ntfsmount/ntfs-3g can't compare to the kernel except in very limited and 
> meaningless benchmarks...

First comes reliability for ntfs-3g. There are just too many million users. 
This is non-negotiable. Because of this, ntfs-3g is indeed not optimized 
yet. 

However the bootlenecks are almost always storage related (seeks, 
bandwidth, buses) on commodity desktop systems. Embedded devices and 
servers come a bit later with the CPU usage optimizations.

> btw. even comparing features, the fuse solutions lag behind in some  respects,
> e.g. no-one can "kill -9" the kernel driver 

I consider this as a benefit for FUSE file systems. An unloadable kernel 
module results reboot which is much more intrusive.

> leaving a corrupt file system on the volume 

That would be a file system driver implementation bug. What I never denied 
for ntfs-3g. Surely it's solvable but this was never a priority based on 
user wishes.

> (and under no-one I include the OOM killer for example!) 

The OOM killer can be configured and if the fs still uses too much memory 
then probably it's better to be killed/restarted with journaling support.
The important here would be the kernel finally fixing the non-sync behavior 
when it clams to do so (see recent kernel threads).

On the other hand, when in-kernel drivers leak then you get a system 
panic. 

> and another example is that the fuse solutions require large amounts of 
> ram whereas the kernel driver can happily function in 1MiB ram 

A FUSE driver can also happily function in much less than 1 MB RAM.

> when they find a large directory and the user has only 32MiB ram for 
> example...  

This is a FUSE fs implementation, not FUSE problem.

	Szaka

--
NTFS-3G:  http://ntfs-3g.org


       reply	other threads:[~2008-04-14 12:47 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <14725485.776281208170999085.JavaMail.szaka@kolumbus.fi>
2008-04-14 12:46 ` Szabolcs Szakacsits [this message]
2008-04-14 13:15   ` [PATCH 0/7] OMFS filesystem version 3 Anton Altaparmakov
2008-04-14 16:12     ` Szabolcs Szakacsits
     [not found] <aiwLk-3mc-3@gated-at.bofh.it>
     [not found] ` <aiwLk-3mc-5@gated-at.bofh.it>
     [not found]   ` <aiwLk-3mc-1@gated-at.bofh.it>
2008-04-16  9:56     ` Bodo Eggert
     [not found] <10224488.783261208172602425.JavaMail.szaka@kolumbus.fi>
2008-04-15  0:11 ` Szabolcs Szakacsits
2008-04-15 15:05   ` Adrian Bunk
2008-04-12 22:58 Bob Copeland
2008-04-13  0:03 ` Andrew Morton
2008-04-13  3:33   ` Bob Copeland
2008-04-13  3:55     ` Andrew Morton
2008-04-13  4:41       ` Bob Copeland
2008-04-13  8:01       ` Christoph Hellwig
2008-04-13  8:20         ` Andrew Morton
2008-04-13  8:28           ` Christoph Hellwig
2008-04-13 10:37             ` Miklos Szeredi
2008-04-13 21:15               ` David Woodhouse
2008-04-13 22:44                 ` Andrew Morton
2008-04-13 22:49                   ` Alan Cox
2008-04-13 23:10                     ` Andrew Morton
2008-04-14  1:32                       ` Bob Copeland
2008-04-14  5:48                         ` Andrew Morton
2008-04-14  8:16                       ` Alan Cox
2008-04-14  8:36                         ` Andrew Morton
2008-04-14  8:41                         ` Christoph Hellwig
2008-04-14 14:20                           ` Chris Mason
2008-04-14 16:36                             ` Bob Copeland
2008-04-14 16:51                               ` Alan Cox
2008-04-14 17:18                                 ` Bob Copeland
2008-04-14 17:22                                   ` Alan Cox
2008-04-14 20:29                             ` david
2008-04-18 13:13                               ` Szabolcs Szakacsits
2008-04-14 20:55                           ` Jeff Garzik
2008-04-14 21:11                             ` Andrew Morton
2008-04-14 22:32                               ` Evgeniy Polyakov
2008-04-14 23:21                                 ` Andrew Morton
2008-04-14 23:09                               ` SL Baur
2008-04-14 23:24                                 ` Andrew Morton
2008-04-14  8:30                       ` Xavier Bestel
2008-04-14  8:43                         ` Christoph Hellwig
2008-04-14  8:44                         ` Andrew Morton
2008-04-14  9:08                           ` Christoph Hellwig
2008-04-14  9:09                           ` Christoph Hellwig
2008-04-14  9:21                             ` Andrew Morton
2008-04-14 10:09                               ` David Woodhouse
2008-04-14 10:22                                 ` Andrew Morton
2008-04-14 10:36                                   ` David Woodhouse
2008-04-14 11:16                                   ` Christoph Hellwig
2008-04-15 15:16                       ` Adrian Bunk
2008-04-15 16:57                         ` Christoph Hellwig
2008-04-15 18:34                           ` Andrew Morton
2008-04-15 18:53                             ` Alan Cox
2008-04-15 20:02                               ` Andrew Morton
2008-04-15 19:58                                 ` Alan Cox
2008-04-15 21:46                                   ` david m. richter
2008-04-15 19:24                             ` Adrian Bunk
2008-04-15 20:11                               ` Andrew Morton
2008-04-15 20:27                                 ` Adrian Bunk
2008-04-14  7:25                 ` Miklos Szeredi
2008-04-14  7:49                   ` Andrew Morton
2008-04-14  8:11                     ` Miklos Szeredi
2008-04-14  8:11                     ` Anton Altaparmakov
2008-04-14  8:26                       ` Miklos Szeredi
2008-04-14  9:42                   ` Jamie Lokier
2008-04-14  9:58                     ` Miklos Szeredi
2008-04-14 11:05                       ` David Woodhouse
2008-04-14 12:50                         ` Miklos Szeredi
2008-04-14 11:55                       ` Jamie Lokier
2008-04-14 11:57                         ` Christoph Hellwig
2008-04-14 12:26                         ` Miklos Szeredi
2008-04-14 22:35                           ` Jamie Lokier
2008-04-15 11:33                             ` Miklos Szeredi
2008-04-15 15:23                               ` Jamie Lokier
2008-04-17  1:08                                 ` Szabolcs Szakacsits
2008-04-17  6:50                                   ` Jamie Lokier
2008-04-17  8:17                                     ` Miklos Szeredi
2008-04-14  0:45               ` Bob Copeland
2008-04-14  7:35                 ` Miklos Szeredi
2008-04-18 10:30                 ` Szabolcs Szakacsits
2008-04-18 11:52                   ` Jamie Lokier
2008-04-18 12:20                     ` Miklos Szeredi
2008-04-18 12:57                       ` Jamie Lokier
2008-04-18 16:01                         ` Miklos Szeredi
2008-04-18 16:15                           ` Jamie Lokier
2008-04-18 13:51                   ` Bob Copeland
2008-04-18 14:23                     ` Miklos Szeredi
2008-04-18 14:43                       ` Bob Copeland
2008-04-18 17:35                     ` Szabolcs Szakacsits
2008-04-18 17:48                       ` Bob Copeland
2008-04-18 12:46             ` Szabolcs Szakacsits
2008-04-13  9:04     ` Alan Cox
2008-04-13 10:00     ` Pavel Machek
2008-04-15  3:14     ` Erez Zadok

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=Pine.LNX.4.62.0804141444320.22065@tamago.serverit.net \
    --to=szaka@ntfs-3g.org \
    --cc=aia21@cam.ac.uk \
    --cc=akpm@linux-foundation.org \
    --cc=dwmw2@infradead.org \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=me@bobcopeland.com \
    --cc=miklos@szeredi.hu \
    /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).