Re: [PATCH 00/17] VFS: Filesystem information and notifications [ver #17]
From: Karel Zak <kzak@redhat.com>
Date: 2020-03-04 15:23:00
Also in:
linux-fsdevel, lkml
On Wed, Mar 04, 2020 at 10:01:33AM +0800, Ian Kent wrote:
On Tue, 2020-03-03 at 14:03 +0100, Greg Kroah-Hartman wrote:quoted
Actually, I like this idea (the syscall, not just the unlimited beers). Maybe this could make a lot of sense, I'll write some actual tests for it now that syscalls are getting "heavy" again due to CPU vendors finally paying the price for their madness...The problem isn't with open->read->close but with the mount info. changing between reads (ie. seq file read takes and drops the needed lock between reads at least once).
readfile() is not reaction to mountinfo.
The motivation is that we have many places with trivial
open->read->close for very small text files due to /sys and /proc. The
current way how kernel delivers these small strings to userspace seems
pretty inefficient if we can do the same by one syscall.
Karel
$ strace -e openat,read,close -c ps aux
...
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
43.32 0.004190 4 987 read
31.42 0.003039 3 844 4 openat
25.26 0.002443 2 842 close
------ ----------- ----------- --------- --------- ----------------
100.00 0.009672 2673 4 total
$ strace -e openat,read,close -c lsns
...
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
39.95 0.001567 2 593 openat
30.93 0.001213 2 597 close
29.12 0.001142 3 365 read
------ ----------- ----------- --------- --------- ----------------
100.00 0.003922 1555 total
$ strace -e openat,read,close -c lscpu
...
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
44.67 0.001480 7 189 52 openat
34.77 0.001152 6 180 read
20.56 0.000681 4 140 close
------ ----------- ----------- --------- --------- ----------------
100.00 0.003313 509 52 total
--
Karel Zak [off-list ref]
http://karelzak.blogspot.com