Linus, The following changes since commit 2dcd0af568b0cf583645c8a317dd12e344b1c72a: Linux 4.6 (2016-05-15 15:43:13 -0700) are available in the git repository at: https://github.com/martinbrandenburg/linux.git tags/for-linus for you to fetch changes up to 858b62694d893218abbf293a3eac16d910cb6a90: Orangefs: update orangefs.txt (2016-08-01 14:59:53 -0400) ---------------------------------------------------------------- orangefs: kernel side caching and executable bugfix This allows OrangeFS to utilize the dcache and adds an in kernel attribute cache. We previously used the user side client for this purpose. We see a modest performance increase on small file operations. For example, without the cache, compiling coreutils takes about 17 minutes. With the patch and a 50 millisecond timeout for dcache_timeout_msecs and getattr_timeout_msecs (the default), compiling coreutils takes about 6 minutes 20 seconds. On the same hardware, compiling coreutils on an xfs filesystem takes 90 seconds. We see similar improvements with mdtest and a test involving writing, reading, and deleting a large number of small files. Interested parties can review more data at the following URL. https://docs.google.com/spreadsheets/d/1v4aUeppKexIbRMz_Yn9k4eaM3uy2KCaPoe_93YKWOtA/pubhtml The eventual goal of this is to allow getdents to turn into a readdirplus to the OrangeFS server. The cache will be filled then, which should provide a performance benefit to the common case of readdir followed by getattr on each entry (i.e. ls -l). This also fixes a bug. When orangefs_inode_permission was added, it did not collect i_size from the OrangeFS server, since this presses an unnecessary load on the OrangeFS server. However, it left a case where i_size is never initialized. Then running an executable could fail. With this patch, size is always collected to be inserted into the cache. Thus the bug disappears. If this patch is not accepted during this merge window, we will send a one-line band-aid for this bug instead. ---------------------------------------------------------------- Martin Brandenburg (5): orangefs: Use d_time to avoid excessive lookups orangefs: Cache getattr results. orangefs: Allow dcache and getattr cache time to be configured. orangefs: Change default dcache and getattr timeout to 50 msec. orangefs: Account for jiffies wraparound. Mike Marshall (1): Orangefs: update orangefs.txt Documentation/filesystems/orangefs.txt | 50 +++++++++++++++++++++++++++++++--- fs/orangefs/dcache.c | 4 +++ fs/orangefs/inode.c | 6 ++-- fs/orangefs/namei.c | 12 ++++++++ fs/orangefs/orangefs-kernel.h | 6 +++- fs/orangefs/orangefs-mod.c | 2 ++ fs/orangefs/orangefs-sysfs.c | 43 ++++++++++++++++++++++++++++- fs/orangefs/orangefs-utils.c | 38 ++++++++++++++------------ fs/orangefs/protocol.h | 8 ------ 9 files changed, 135 insertions(+), 34 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html