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@xxxxxxxxxxxxxxx or by private mails. Thanks! Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com