On Wed, 27 Mar 2013, Basil Chupin wrote:
... But, honesty, none of it makes sense to me - all this talk about "user-space" and all that. It has only confused me more than I was ever confused when delving into grub and grub2. Especially this reference to "maybe USB-2 is the _next_bottleneck....".
...
Ext4 is implemented completely within the kernel. Ntfs-3g is implemented outside of the kernel and runs as a user process - Filesystem in userspace (FUSE). Each time a process such as cp makes a kernel system call to do a file operation on a FUSE based filesystem, the call goes into the kernel and then the kernel passes the call back to a normal process via the FUSE API. The normal process then does more kernel system calls to the real IO behind the file system operation. This means that parameters and data in Ntfs-3g may need to be copied between kernel and userspace possible multiple times, before it makes it anywhere useful. Plus this requires a hierarchy of calls into and out of the kernel, all involving synchronisation between what's happening inside the kernel and inside the userspace. Contrast this with Ext4, where a system call to do a file system operation will enter the kernel only once and will run to completion entirely with the kernel - much faster. The Wikipedia entry on NTFS-3G states the bottleneck may be the CPU required by the FUSE implementation and that a fast enough CPU will yield faster results. Considering this is supposed to be about I/O this implies big overheads. FUSE based files system implementations are easier to write and more portable than writting kernel code. It only took me a few days to learn about FUSE and prototype a simple FUSED based filesystem (collectfs). It's just like writing any program that runs as a user process. Where as I've never had enough time to climb the learning curve for implementing filesystems that run inside the kernel. If you compare the performance of a kernel based implementation of an encrypted filesystem to a FUSE based implementation, I think you will see similar differences/limitations in performance. In a nutshell, a faster CPU might help narrow the difference. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org