summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-10-31 16:06:40 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2015-10-31 16:14:51 -0700
commitfc90888d07b8e17eec49c04bdb26344fdea96c3b (patch)
treebc5dd1d51b64c378cfed016eefa3046f860fa8c0 /drivers
parentf3f86e33dc3da437fa4f204588ce7c78ea756982 (diff)
downloadlinux-stable-fc90888d07b8e17eec49c04bdb26344fdea96c3b.tar.gz
linux-stable-fc90888d07b8e17eec49c04bdb26344fdea96c3b.tar.bz2
linux-stable-fc90888d07b8e17eec49c04bdb26344fdea96c3b.zip
vfs: conditionally clear close-on-exec flag
We clear the close-on-exec flag when opening and closing files, and the bit was almost always already clear before. Avoid dirtying the cacheline if the clearning isn't necessary. That avoids unnecessary cacheline dirtying and bouncing in multi-socket environments. Eric Dumazet has a file descriptor benchmark that goes 4% faster from this on his two-socket machine. It's probably partly superlinear improvement due to getting slightly less spinlock contention on the file_lock spinlock due to less work in the critical section. Tested-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions