On Thu, 25 May 2023 14:00:39 -0700 Nadav Amit <nadav.amit@xxxxxxxxx> wrote: > From: Nadav Amit <namit@xxxxxxxxxx> > > Functions that are marked as "inline" are currently also not tracable. > This limits tracing functionality for many functions for no reason. > Apparently, this has been done for two reasons. > > First, as described in commit 5963e317b1e9d2a ("ftrace/x86: Do not > change stacks in DEBUG when calling lockdep"), it was intended to > prevent some functions that cannot be traced from being traced as these > functions were marked as inline (among others). > > Yet, this change has been done a decade ago, and according to Steven > Rostedt, ftrace should have improved and hopefully resolved nested > tracing issues by now. Arguably, if functions that should be traced - > for instance since they are used during tracing - still exist, they > should be marked as notrace explicitly. > > The second reason, which Steven raised, is that attaching "notrace" to > "inline" prevented tracing differences between different configs, which > caused various problem. This consideration is not very strong, and tying > "inline" and "notrace" does not seem very beneficial. The "inline" > keyword is just a hint, and many functions are currently not tracable > due to this reason. > > Disconnect "inline" from "notrace". FYI, I have a patch queued (still needs to go through testing) that already does this ;-) https://lore.kernel.org/all/20230502164102.1a51cdb4@xxxxxxxxxxxxxxxxxx/ -- Steve