On Thu, Mar 12, 2026 at 4:06 PM Masami Hiramatsu <[email protected]> wrote: > > Hi, > > On Wed, 11 Mar 2026 21:40:32 +0800 > Yafang Shao <[email protected]> wrote: > > > > Although there is a bigger issue of why on earth the code is reading the > > > list of filter functions at all - never mind all the time. > > > > bpftrace reads the complete list of available functions into > > userspace, then performs matching against the target function to > > determine if it is traceable. > > What about changing bpftrace userspace tool to cache the list of available > functions? (or just add an option to pass available function list?) > Then, you can just copy the function list somewhere and uses it.
Thanks for the suggestion. Steven also mentioned this optimization, and I believe it could indeed help address the performance issue. > > Of course we can do the same thing in the kernel, but I don't think > there is any reason to do it in the kernel instead of user space. Implementing this in the kernel provides a more generic solution. Instead of patching each tool individually (bpftrace, perf, trace-cmd, etc.). -- Regards Yafang
