Re: [RFC PATCH] getvalues(2) prototype
From: Greg KH <gregkh@linuxfoundation.org>
Date: 2022-03-25 08:54:32
Also in:
linux-api, linux-fsdevel, linux-man, lkml
From: Greg KH <gregkh@linuxfoundation.org>
Date: 2022-03-25 08:54:32
Also in:
linux-api, linux-fsdevel, linux-man, lkml
On Fri, Mar 25, 2022 at 09:46:46AM +0100, Karel Zak wrote:
On Thu, Mar 24, 2022 at 09:44:38AM +0100, Miklos Szeredi wrote:quoted
quoted
If so, have you benchmarked lsof using this new interface?Not yet. Looked yesterday at both lsof and procps source code, and both are pretty complex and not easy to plug in a new interface. But I've not yet given up...I can imagine something like getvalues(2) in lsblk (based on /sys) or in lsfd (based on /proc; lsof replacement). The tools have defined set of information to read from kernel, so gather all the requests to the one syscall for each process or block device makes sense and it will dramatically reduce number of open+read+close syscalls.
And do those open+read+close syscalls actually show up in measurements? Again, I tried to find a real-world application that turning those 3 into 1 would matter, and I couldn't. procps had no decreased system load that I could notice. I'll mess with lsof but that's really just a stress-test, not anything that is run all the time, right? And as others have said, using io_uring() would also solve the 3 syscall issue, but no one seems to want to convert these tools to use that, which implies that it's not really an issue for anyone :) thanks, greg k-h