summaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/proc.txt
diff options
context:
space:
mode:
authorHugh Dickins2015-11-06 03:50:34 +0100
committerLinus Torvalds2015-11-06 04:34:48 +0100
commitd0424c429f8e0555a337d71e0a13f2289c636ec9 (patch)
tree0a2bbf782d14aaf8cf8e68dbbcf94fe4d27ab4c1 /Documentation/filesystems/proc.txt
parentmm, oom: add comment for why oom_adj exists (diff)
downloadkernel-qcow2-linux-d0424c429f8e0555a337d71e0a13f2289c636ec9.tar.gz
kernel-qcow2-linux-d0424c429f8e0555a337d71e0a13f2289c636ec9.tar.xz
kernel-qcow2-linux-d0424c429f8e0555a337d71e0a13f2289c636ec9.zip
tmpfs: avoid a little creat and stat slowdown
LKP reports that v4.2 commit afa2db2fb6f1 ("tmpfs: truncate prealloc blocks past i_size") causes a 14.5% slowdown in the AIM9 creat-clo benchmark. creat-clo does just what you'd expect from the name, and creat's O_TRUNC on 0-length file does indeed get into more overhead now shmem_setattr() tests "0 <= 0" instead of "0 < 0". I'm not sure how much we care, but I think it would not be too VW-like to add in a check for whether any pages (or swap) are allocated: if none are allocated, there's none to remove from the radix_tree. At first I thought that check would be good enough for the unmaps too, but no: we should not skip the unlikely case of unmapping pages beyond the new EOF, which were COWed from holes which have now been reclaimed, leaving none. This gives me an 8.5% speedup: on Haswell instead of LKP's Westmere, and running a debug config before and after: I hope those account for the lesser speedup. And probably someone has a benchmark where a thousand threads keep on stat'ing the same file repeatedly: forestall that report by adjusting v4.3 commit 44a30220bc0a ("shmem: recalculate file inode when fstat") not to take the spinlock in shmem_getattr() when there's no work to do. Signed-off-by: Hugh Dickins <hughd@google.com> Reported-by: Ying Huang <ying.huang@linux.intel.com> Tested-by: Ying Huang <ying.huang@linux.intel.com> Cc: Josef Bacik <jbacik@fb.com> Cc: Yu Zhao <yuzhao@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/filesystems/proc.txt')
0 files changed, 0 insertions, 0 deletions