Re: Question about Reiser4

From: Denis Vlasenko
Date: Tue Apr 24 2007 - 07:15:36 EST


Theodore Tso wrote:
>
> One of the big problems of using a filesystem as a DB is the system
> call overheads. If you use huge numbers of tiny files, then each
> attempt read an atom of information from the DB takes three system
> calls --- an open(), read(), and close(), with all of the overheads in
> terms of dentry and inode cache.
>

Now, to be fair, there are probably a number of cases where
open/lseek/readv/close and open/lseek/writev/close would be worth doing
as a single system call. The big problem as far as I can see involves
EINTR handling; such a system call has serious restartability implications.

Of course, there are Ingo's syslets...

I definitely would like open/readv/close syscall a lot.
Actually, a set of four syscalls

open/readv/close
open/pread/close
open/writev/close
open/pwrite/close

will allow to reduce syscall overhead for a number of cases.
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/