public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: tridge@samba.org
Cc: linux-kernel@vger.kernel.org,
	Reiserfs developers mail-list <Reiserfs-Dev@namesys.com>
Subject: Re: performance of filesystem xattrs with Samba4
Date: Sat, 20 Nov 2004 08:13:19 -0800	[thread overview]
Message-ID: <419F6D1F.10001@namesys.com> (raw)
In-Reply-To: <16798.59519.63931.494579@samba.org>

tridge@samba.org wrote:

>Hans,
>
> > can you describe qualitatively what your test does?
>
>The access patterns are very similar to dbench, which I believe you
>are already familiar with. Let me know if you'd like an explanation of
>dbench.
>  
>
Actually, I would, because I have never read its code, and have been at 
a loss for years to understand its meaning as a result of that.

>For the test I ran, the basic load file is almost the same as dbench,
>but the interpretation of the load file is a little bit different.
>
>For example, when the load file says "open a file", Samba4 needs to
>first stat() the file, and if xattrs are being used then it needs to
>do a fgetattr() to grab the extended DOS attributes. Additionally, if
>the open has the effect of changing any of those attributes then
>Samba4 needs to use fsetxattr() to write back the extended attributes,
>and sometimes fchmod() and utime() as well depending on the open
>parameters.
>
>When dbench interprets one of these load files it would just call
>open(), skipping all the extra system calls.
>
>The full load file I used is at:
>
>  http://samba.org/ftp/tridge/dbench/client_enterprise.txt
>
>and is based on a capture of a "Enterprise Disk Mix" Netbench run,
>captured using the "nbench" load capturing proxy module in Samba4,
>using a Win2003 server backend and WinXP client.  
>
>The working set size is approximately 20 MByte per client, and I was
>testing with 10 simulated clients. That means its very much a "in
>memory" test, as the machine has 2G of ram.
>  
>
Ah, that explains a lot.  For that kind of workload, the simpler the fs 
the better, because really all you are doing is adding overhead to 
copy_to_user and copy_from_user.  All of reiser4's advanced features 
will add little or no value if you are staying in ram. 

> > You didn't answer whether it does fsyncs, etc.
>
>I think I did mention that the test does no fsync calls in the
>configuration I used. The reason I qualify the answer is that the load
>file actually contains approximately 1% Flush calls, but in its
>default configuration these are noops for Samba4. This is due to the
>confusion in Win32 between a "flush" operation and a "fsync"
>operation. Microsoft programmers use "flush" like a unix programmer
>would use fflush() on stdio, which is a noop for Samba. You can also
>configure Samba to treat flush as a "fsync", which is quite a
>different operation.
>
>The operation mix is as follows, listed with the approximate posix
>equivalent operation.
>
>(27%) ReadX                    (==pread)
>(17%) NTCreateX                (==open)
>(16%) QUERY_PATH_INFORMATION   (==stat)
>(13%) Close                    (==close)
>(9%)  WriteX                   (==pwrite)
>(6%)  FIND_FIRST               (==opendir/readdir/closedir)
>(3%)  Unlink                   (==unlink)
>(3%)  QUERY_FS_INFORMATION     (==statfs)
>(3%)  QUERY_FILE_INFORMATION   (==fstat)
>(1%)  SET_FILE_INFORMATION     (==fchmod/utime)
>(1%)  Flush                    (==noop)
>(1%)  Rename                   (==rename)
>(0%)  UnlockX                  (==fcntl unlock)
>(0%)  LockX                    (==fcntl lock)
>
>but the above can be a little misleading, as (for example) NTCreateX
>is a very complex call, and can be used to create directories, create
>files, open files or even delete files or directories (using the
>delete on close semantics).
>
> > It might be worth testing it with the extents only mount option for
> > reiser4.
>
>My apologies if I have just missed it, but I can't see an option that
>looks like "extents only" in either reiser4_parse_options() or in
>Documentation/filesystems/reiser4.txt in 2.6.10-rc2-mm2. Can you let
>me know the exact option name?
>
>Cheers, Tridge
>
>
>  
>
mkfs.reiser4 -o extent=extent40

  reply	other threads:[~2004-11-20 16:13 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <16759.16648.459393.752417@samba.org>
2004-10-21 18:32 ` [PATCH] Re: idr in Samba4 Jim Houston
2004-10-22  6:17   ` tridge
2004-11-19  7:38   ` performance of filesystem xattrs with Samba4 tridge
2004-11-19  8:08     ` James Morris
2004-11-19 10:16     ` Andreas Dilger
2004-11-19 11:43       ` tridge
2004-11-19 22:28         ` Andreas Dilger
2004-11-22 13:02       ` tridge
2004-11-22 21:40         ` Andreas Dilger
2004-11-19 12:03     ` Anton Altaparmakov
2004-11-19 12:43       ` tridge
2004-11-19 14:11         ` Anton Altaparmakov
2004-11-20 10:44           ` tridge
2004-11-20 16:20             ` Hans Reiser
2004-11-20 23:29               ` tridge
2004-11-19 15:34     ` Hans Reiser
2004-11-19 15:58       ` Jan Engelhardt
2004-11-19 22:03       ` tridge
2004-11-20  4:51         ` Hans Reiser
2004-11-19 23:01       ` tridge
2004-11-20  0:26         ` Andrew Morton
2004-11-21  1:14           ` tridge
2004-11-21  2:12           ` tridge
2004-11-21 23:53           ` tridge
2004-11-23  9:37           ` tridge
2004-11-23 17:55             ` Andreas Dilger
2004-11-24  7:53           ` tridge
2004-11-20  4:40         ` Hans Reiser
2004-11-20  6:47           ` tridge
2004-11-20 16:13             ` Hans Reiser [this message]
2004-11-20 23:16               ` tridge
2004-11-21  2:36                 ` Hans Reiser
2004-11-21  0:21               ` tridge
2004-11-21  2:41                 ` Hans Reiser
2004-11-21  1:53               ` tridge
2004-11-21  2:48                 ` Hans Reiser
2004-11-21  3:19                   ` tridge
2004-11-21  6:11                     ` Hans Reiser
2004-11-21 22:21     ` Nathan Scott
2004-11-21 23:43       ` tridge
2004-12-03 17:49 Steve French

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=419F6D1F.10001@namesys.com \
    --to=reiser@namesys.com \
    --cc=Reiserfs-Dev@namesys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tridge@samba.org \
    /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