On Wed, Apr 01, 2026 at 12:07:12PM -0700, Samuel Wu wrote: > On Wed, Apr 1, 2026 at 2:15 AM Greg Kroah-Hartman > <[email protected]> wrote: > > > > On Tue, Mar 31, 2026 at 08:34:09AM -0700, Samuel Wu wrote: > > > This patchset adds requisite kfuncs for BPF programs to safely traverse > > > wakeup_sources, and puts a config flag around the sysfs interface. > > > > > > Currently, a traversal of wakeup sources require going through > > > /sys/class/wakeup/* or /d/wakeup_sources/*. The repeated syscalls to query > > > sysfs is inefficient, as there can be hundreds of wakeup_sources, with > > > each > > > wakeup source also having multiple attributes. debugfs is unstable and > > > insecure. > > > > Describe "inefficient" please? > > Ack; I’ll provide a more detailed breakdown in the v4 cover letter. To > summarize: the "inefficiency" isn't just the number of sources (150), > but the fact that each source has 10 attributes. We are looking at > 1,500+ sysfs nodes to get a full snapshot of the system.
Wait, no, something is wrong here. You should NEVER be wanting to combine multiple sysfs files at the same time into a "snapshot" of the system because by virtue of how this works, it's going to change while you are actually traversing all of those files! Why are you trying to read 1500+ sysfs files at once, and what are you doing with that information? And if you really need it "all at once", why can't we provide it for you in a sane manner, instead of being forced to either walk the whole sysfs tree, or rely on a bpf script? So, what problem are you trying to solve that looking at all of these files solves for you at the moment? thanks, greg k-h

