[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <D4B1FB24-C351-411B-8A40-4DAFE95FA921@gmail.com>
Date: Thu, 25 May 2023 22:17:33 -0700
From: Nadav Amit <nadav.amit@...il.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Arnd Bergmann <arnd@...db.de>,
Thomas Gleixner <tglx@...utronix.de>,
linux-arm-kernel@...ts.infradead.org,
LKML <linux-kernel@...r.kernel.org>, linux-ia64@...r.kernel.org,
linux-um@...ts.infradead.org,
Linux-Arch <linux-arch@...r.kernel.org>,
linux-mm <linux-mm@...ck.org>, Andy Lutomirski <luto@...nel.org>,
Ingo Molnar <mingo@...hat.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Borislav Petkov <bp@...en8.de>, X86 ML <x86@...nel.org>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v2 2/3] compiler: inline does not imply notrace
> On May 25, 2023, at 7:28 PM, Steven Rostedt <rostedt@...dmis.org> wrote:
>
> On Thu, 25 May 2023 14:00:39 -0700
> Nadav Amit <nadav.amit@...il.com> wrote:
>
>> From: Nadav Amit <namit@...are.com>
>>
>> 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@gandalf.local.home/
Ugh. If you cc’d me, I wouldn’t bother you during your vacation. :)
I think you may like the first patch in my series to precede this patch
though as some of the function I marked as “notrace" are currently “inline”.
Let me know how you want to proceed, so I would know how to break this
series.
Powered by blists - more mailing lists