Re: [PATCH v3 0/2] Support BPF traversal of wakeup sources
From: Greg Kroah-Hartman
Date: Thu Apr 02 2026 - 00:07:15 EST
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
> <gregkh@xxxxxxxxxxxxxxxxxxx> 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