Re: [PATCH 00/17] VFS: Filesystem information and notifications [ver #17]

Karel Zak
2020-03-04T17:56:16Z

On Wed, Mar 04, 2020 at 05:49:13PM +0100, Greg Kroah-Hartman wrote:
> On Wed, Mar 04, 2020 at 04:22:41PM +0100, Karel Zak wrote:
> > $ 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
>
> As a "real-world" test, would you recommend me converting one of the
> above tools to my implementation of readfile to see how/if it actually
> makes sense, or do you have some other tool you would rather see me try?

See lib/path.c and lib/sysfs.c in util-linux (https://github.com/karelzak/util-linux).
For example ul_path_read() and ul_path_scanf().

We use it for lsblk, lsmem, lscpu, etc.

$ git grep -c ul_path_read misc-utils/lsblk.c sys-utils/lscpu.c
misc-utils/lsblk.c:30
sys-utils/lscpu.c:31

We're probably a little bit off-topic here, no problem to continue on
util-linux@vger.kernel.org or by private mails. Thanks!

Karel

--
Karel Zak <kzak@redhat.com>