npiggin@suse.de 96029c4e09 fs: introduce mnt_clone_write
This patch speeds up lmbench lat_mmap test by about another 2% after the
first patch.

Before:
 avg = 462.286
 std = 5.46106

After:
 avg = 453.12
 std = 9.58257

(50 runs of each, stddev gives a reasonable confidence)

It does this by introducing mnt_clone_write, which avoids some heavyweight
operations of mnt_want_write if called on a vfsmount which we know already
has a write count; and mnt_want_write_file, which can call mnt_clone_write
if the file is open for write.

After these two patches, mnt_want_write and mnt_drop_write go from 7% on
the profile down to 1.3% (including mnt_clone_write).

[AV: mnt_want_write_file() should take file alone and derive mnt from it;
not only all callers have that form, but that's the only mnt about which
we know that it's already held for write if file is opened for write]

Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2009-06-11 21:36:02 -04:00
..
2009-04-02 19:05:08 -07:00
2009-06-11 21:36:01 -04:00
2009-06-11 21:36:01 -04:00
2009-06-11 21:36:01 -04:00
2009-04-08 10:21:43 -07:00
2009-01-22 13:15:57 +03:00
2009-06-11 21:36:01 -04:00
2009-04-02 19:05:09 -07:00
2009-05-11 09:50:53 +02:00
2009-04-17 09:32:11 -07:00
2009-01-22 13:15:58 +03:00
2009-04-13 15:04:29 -07:00
2009-05-22 18:40:59 +10:00
2009-04-20 23:02:51 -04:00
2009-06-11 21:36:01 -04:00
2009-06-11 21:36:01 -04:00
2009-04-02 19:05:10 -07:00
2009-04-02 19:05:10 -07:00
2009-03-27 14:44:03 -04:00
2009-03-31 23:00:27 -04:00
2009-05-09 10:49:40 -04:00
2009-04-02 19:04:48 -07:00
2009-06-11 21:36:02 -04:00
2009-03-31 23:00:26 -04:00
2009-06-11 21:36:02 -04:00
2009-04-07 08:31:16 -07:00
2009-04-07 08:31:16 -07:00
2009-06-11 21:36:01 -04:00
2009-06-11 21:36:02 -04:00
2009-06-11 21:36:02 -04:00
2009-04-20 23:02:52 -04:00
2009-02-18 15:37:53 -08:00
2009-06-11 21:36:02 -04:00