If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Torvalds: User-Space File-Systems, Toys, Misguided People

06-25-2011, 02:00 PM

Phoronix: Torvalds: User-Space File-Systems, Toys, Misguided People

Yesterday I mentioned what Anton Altaparmakov of Tuxera had recently said about their NTFS kernel driver being the fastest Linux file-system, which erupted into a large debate in our forums. Within that mailing list thread was also another interesting comment by Linus Torvalds. "Userspace filesystem? The problem is right there. Always has been. People who think that userspace filesystems are realistic for anything but toys are just misguided."..

Being a dick about something you're outright wrong about is another story. Sometimes Linus falls into that category. I'm not sure about this case. I'm still not really with him on the anti-micro-kernel thing, since it seems that the big two competing OSes are at least partially micro-kernels (OS X and WinNT) and perform just fine to get stuff done for the regular folk thank you very much. Also, Win7 crashes less than Linux. (Seriously. If your DRM driver in Linux crashes, your system is hosed. If your WDDM driver in Windows crashes, it just restarts, and even quite a few apps that use D3D directly can recover from that restart without a hitch. It's pretty awesome. I get waaaay more kernel oopses from Linux than I get blue screens from Windows... and I very very rarely get a Linux kernel oops.)

Comment

Being a dick about something you're outright wrong about is another story. Sometimes Linus falls into that category. I'm not sure about this case. I'm still not really with him on the anti-micro-kernel thing, since it seems that the big two competing OSes are at least partially micro-kernels (OS X and WinNT) and perform just fine to get stuff done for the regular folk thank you very much. Also, Win7 crashes less than Linux. (Seriously. If your DRM driver in Linux crashes, your system is hosed. If your WDDM driver in Windows crashes, it just restarts, and even quite a few apps that use D3D directly can recover from that restart without a hitch. It's pretty awesome. I get waaaay more kernel oopses from Linux than I get blue screens from Windows... and I very very rarely get a Linux kernel oops.)

I wouldn't say linus was being a "dick" about this situation, just blunt. i wouldn't blame him for the way he responded, because Anton was acting all pompous about something without much explanation or proof of how his product worked.

Windows 7 not crashing for you is probably just coincidental, as is Linux crashing on you. Win 7 is definitely the most stable GUI OS made by MS, but I've found it crashed on me several times before, and I don't use it for anything except gaming and virtualization (and no, it hasn't crashed during a game or virtualizing). Linux only crashes on me when a program I develop goes wrong, overclocking too much, or faulty drivers.

I blame crashing mostly on the user's decisions and the hardware. There are so many variables that affects the stability of an OS, so unless an OS is specific to an entire system (for example iOS for iphone), defining the stability of an OS is somewhat pointless. I've heard of people who have never had a blue screen with Vista or even windows ME and we all know how supposedly unstable those were. I've heard of people who had a fresh install of Linux crash on them when doing nothing.

The best way to define the stability of an OS is how it operates on the average machine. I would definitely consider Windows 7 stable, but not more so than Linux.

Comment

Also, you can't harp on a FUSE filesystem when no other free software implementation of that filesystem exists. If you have no suggestions for what you should use as an alternative, then shut your pie hole.

Tuxera/Anton's filesystem is proprietary, so that doesn't count.

The original ntfs kernel module for Linux is read-only, so that doesn't count (seriously, what percentage of users would be perfectly satisfied with being unable to write to their NTFS filesystem, one of the most important operations a filesystem can offer?)

ntfs-3g remains the only viable alternative for NTFS on Linux, until/unless Anton's filesystem goes into the mainline kernel under the GPL.

Similar situation with ZFS. You can't distribute KQ Infotech's POSIX layer for ZFS because it's CDDL'ed, and distributing a derivative work of the GPL'ed kernel with CDDL code is a copyright violation of the GPL. So ZFS-Fuse remains the only viable alternative.

Also, no such in-kernel module exists for Amazon S3, or SSH, or FTP. And in the case of these very network-limited filesystems, the performance drop of the userspace indirection is probably quite insignificant, especially if you're going out over the public internet, which is thousands of times slower than the maximum bandwidth of a FUSE filesystem. You should even be able to max out a gigabit ethernet port over a LAN using a FUSE filesystem for SSH or FTP.

Really, the people complaining aren't offering many alternatives for us to use to get higher performance. And if they are offering them, they have showstopping licensing issues in both cases I'm aware of. Maybe the simple fact that FUSE filesystems have user adoption and are successful is a little hint to the kernel community that, maybe, writing kernel code with all the special rules and regulations of Linux is more trouble than it's worth.

Comment

I wouldn't say linus was being a "dick" about this situation, just blunt. i wouldn't blame him for the way he responded, because Anton was acting all pompous about something without much explanation or proof of how his product worked.

Actually, Anton's product doesn't use FUSE; it's an in-kernel module. If anything, Linus should be thrilled to his eye teeth about that. That's the main "selling point" of Anton's product: it doesn't use FUSE, so all the people who hate FUSE can use his kernel module binary blob.

Comment

I'm still not really with him on the anti-micro-kernel thing, since it seems that the big two competing OSes are at least partially micro-kernels (OS X and WinNT) and perform just fine to get stuff done for the regular folk thank you very much.

Can you explain how either of those kernels are more micro-kernel than Linux is? I think all 3 of them are properly classified as hybrid kernels, and all are pretty similarly designed.

Also, Win7 crashes less than Linux. (Seriously. If your DRM driver in Linux crashes, your system is hosed. If your WDDM driver in Windows crashes, it just restarts, and even quite a few apps that use D3D directly can recover from that restart without a hitch. It's pretty awesome. I get waaaay more kernel oopses from Linux than I get blue screens from Windows... and I very very rarely get a Linux kernel oops.)

I used to have a similar experience, but then I updated my ATI drivers. Now I get a hard crash every time i try to watch h.264 video, because it tries to do acceleration on my card and fails. Unfortunately, there seems to be no way to turn this "feature" off, at least not that i'm aware of. So while some driver crashes can be caught and the driver restarted (i think that happens when the userspace portion of the driver fails) it definitely doesn't always happen that way.