<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>b81ff11c - ftrace: Have tracing function args depend on PROBE_EVENTS_BTF_ARGS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#b81ff11c</link>
        <description>ftrace: Have tracing function args depend on PROBE_EVENTS_BTF_ARGSThe option PROBE_EVENTS_BTF_ARGS enables the functionsbtf_find_func_proto() and btf_get_func_param() which are used by thefunction argument tracing code. The option FUNCTION_TRACE_ARGS wasdependent on the same configs that PROBE_EVENTS_BTF_ARGS was dependent on,but it was also dependent on PROBE_EVENTS_BTF_ARGS. In fact, ifPROBE_EVENTS_BTF_ARGS is supported then FUNCTION_TRACE_ARGS is supported.Just make FUNCTION_TRACE_ARGS depend on PROBE_EVENTS_BTF_ARGS.Cc: Masami Hiramatsu &lt;mhiramat@kernel.org&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Link: https://lore.kernel.org/20250401113601.17fa1129@gandalf.local.homeFixes: 533c20b062d7c (&quot;ftrace: Add print_function_args()&quot;)Closes: https://lore.kernel.org/all/DB9PR08MB75820599801BAD118D123D7D93AD2@DB9PR08MB7582.eurprd08.prod.outlook.com/Reported-by: Christian Loehle &lt;Christian.Loehle@arm.com&gt;Tested-by: Christian Loehle &lt;Christian.Loehle@arm.com&gt;Tested-by: Leon Romanovsky &lt;leon@kernel.org&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Tue, 01 Apr 2025 15:36:01 +0000</pubDate>
        <dc:creator>Steven Rostedt &lt;rostedt@goodmis.org&gt;</dc:creator>
    </item>
<item>
        <title>ff5c9c57 - ftrace: Add support for function argument to graph tracer</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#ff5c9c57</link>
        <description>ftrace: Add support for function argument to graph tracerWire up the code to print function arguments in the function graphtracer. This functionality can be enabled/disabled during runtime withoptions/funcgraph-args.Example usage:6)              | dummy_xmit [dummy](skb = 0x8887c100, dev = 0x872ca000) {6)              |   consume_skb(skb = 0x8887c100) {6)              |     skb_release_head_state(skb = 0x8887c100) {6)  0.178 us    |       sock_wfree(skb = 0x8887c100)6)  0.627 us    |     }Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Albert Ou &lt;aou@eecs.berkeley.edu&gt;Cc: Guo Ren &lt;guoren@kernel.org&gt;Cc: Donglin Peng &lt;dolinux.peng@gmail.com&gt;Cc: Zheng Yejian &lt;zhengyejian@huaweicloud.com&gt;Link: https://lore.kernel.org/20250227185822.810321199@goodmis.orgReviewed-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Co-developed-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;Signed-off-by: Sven Schnelle &lt;svens@linux.ibm.com&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 27 Feb 2025 18:58:06 +0000</pubDate>
        <dc:creator>Sven Schnelle &lt;svens@linux.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>533c20b0 - ftrace: Add print_function_args()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#533c20b0</link>
        <description>ftrace: Add print_function_args()Add a function to decode argument types with the help of BTF. Willbe used to display arguments in the function and function graphtracer.It can only handle simply arguments and up to FTRACE_REGS_MAX_ARGS numberof arguments. When it hits a max, it will print &quot;, ...&quot;:   page_to_skb(vi=0xffff8d53842dc980, rq=0xffff8d53843a0800, page=0xfffffc2e04337c00, offset=6160, len=64, truesize=1536, ...)And if it hits an argument that is not recognized, it will print the rawvalue and the type of argument it is:   make_vfsuid(idmap=0xffffffff87f99db8, fs_userns=0xffffffff87e543c0, kuid=0x0 (STRUCT))   __pti_set_user_pgtbl(pgdp=0xffff8d5384ab47f8, pgd=0x110e74067 (STRUCT))Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Albert Ou &lt;aou@eecs.berkeley.edu&gt;Cc: Guo Ren &lt;guoren@kernel.org&gt;Cc: Donglin Peng &lt;dolinux.peng@gmail.com&gt;Cc: Zheng Yejian &lt;zhengyejian@huaweicloud.com&gt;Link: https://lore.kernel.org/20250227185822.639418500@goodmis.orgReviewed-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Co-developed-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;Signed-off-by: Sven Schnelle &lt;svens@linux.ibm.com&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 27 Feb 2025 18:58:05 +0000</pubDate>
        <dc:creator>Sven Schnelle &lt;svens@linux.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>4346ba16 - fprobe: Rewrite fprobe on function-graph tracer</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#4346ba16</link>
        <description>fprobe: Rewrite fprobe on function-graph tracerRewrite fprobe implementation on function-graph tracer.Major API changes are: -  &apos;nr_maxactive&apos; field is deprecated. -  This depends on CONFIG_DYNAMIC_FTRACE_WITH_ARGS or    !CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS, and    CONFIG_HAVE_FUNCTION_GRAPH_FREGS. So currently works only    on x86_64. -  Currently the entry size is limited in 15 * sizeof(long). -  If there is too many fprobe exit handler set on the same    function, it will fail to probe.Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Acked-by: Heiko Carstens &lt;hca@linux.ibm.com&gt; # s390Cc: Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;Cc: Florent Revest &lt;revest@chromium.org&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: bpf &lt;bpf@vger.kernel.org&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alan Maguire &lt;alan.maguire@oracle.com&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: WANG Xuerui &lt;kernel@xen0n.name&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Naveen N Rao &lt;naveen@kernel.org&gt;Cc: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Albert Ou &lt;aou@eecs.berkeley.edu&gt;Cc: Vasily Gorbik &lt;gor@linux.ibm.com&gt;Cc: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;Cc: Christian Borntraeger &lt;borntraeger@linux.ibm.com&gt;Cc: Sven Schnelle &lt;svens@linux.ibm.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Borislav Petkov &lt;bp@alien8.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: x86@kernel.orgCc: &quot;H. Peter Anvin&quot; &lt;hpa@zytor.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;Link: https://lore.kernel.org/173519003970.391279.14406792285453830996.stgit@devnote2Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 26 Dec 2024 05:13:59 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a762e926 - ftrace: Add CONFIG_HAVE_FTRACE_GRAPH_FUNC</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#a762e926</link>
        <description>ftrace: Add CONFIG_HAVE_FTRACE_GRAPH_FUNCAdd CONFIG_HAVE_FTRACE_GRAPH_FUNC kconfig in addition to ftrace_graph_funcmacro check. This is for the other feature (e.g. FPROBE) which requires toaccess ftrace_regs from fgraph_ops::entryfunc() can avoid compiling ifthe fgraph can not pass the valid ftrace_regs.Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;Cc: Florent Revest &lt;revest@chromium.org&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: bpf &lt;bpf@vger.kernel.org&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alan Maguire &lt;alan.maguire@oracle.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: WANG Xuerui &lt;kernel@xen0n.name&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Naveen N Rao &lt;naveen@kernel.org&gt;Cc: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Albert Ou &lt;aou@eecs.berkeley.edu&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Borislav Petkov &lt;bp@alien8.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: x86@kernel.orgCc: &quot;H. Peter Anvin&quot; &lt;hpa@zytor.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Link: https://lore.kernel.org/173519001472.391279.1174901685282588467.stgit@devnote2Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 26 Dec 2024 05:13:34 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0566cefe - tracing/fprobe: Enable fprobe events with CONFIG_DYNAMIC_FTRACE_WITH_ARGS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#0566cefe</link>
        <description>tracing/fprobe: Enable fprobe events with CONFIG_DYNAMIC_FTRACE_WITH_ARGSAllow fprobe events to be enabled with CONFIG_DYNAMIC_FTRACE_WITH_ARGS.With this change, fprobe events mostly use ftrace_regs instead of pt_regs.Note that if the arch doesn&apos;t enable HAVE_FTRACE_REGS_HAVING_PT_REGS,fprobe events will not be able to be used from perf.Cc: Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;Cc: Florent Revest &lt;revest@chromium.org&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: bpf &lt;bpf@vger.kernel.org&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alan Maguire &lt;alan.maguire@oracle.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Link: https://lore.kernel.org/173518999352.391279.13332699755290175168.stgit@devnote2Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 26 Dec 2024 05:13:13 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>762abbc0 - fprobe: Use ftrace_regs in fprobe exit handler</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#762abbc0</link>
        <description>fprobe: Use ftrace_regs in fprobe exit handlerChange the fprobe exit handler to use ftrace_regs structure instead ofpt_regs. This also introduce HAVE_FTRACE_REGS_HAVING_PT_REGS whichmeans the ftrace_regs is including the pt_regs so that ftrace_regscan provide pt_regs without memory allocation.Fprobe introduces a new dependency with that.Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Acked-by: Heiko Carstens &lt;hca@linux.ibm.com&gt; # s390Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;Cc: Florent Revest &lt;revest@chromium.org&gt;Cc: bpf &lt;bpf@vger.kernel.org&gt;Cc: Alan Maguire &lt;alan.maguire@oracle.com&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: WANG Xuerui &lt;kernel@xen0n.name&gt;Cc: Vasily Gorbik &lt;gor@linux.ibm.com&gt;Cc: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;Cc: Christian Borntraeger &lt;borntraeger@linux.ibm.com&gt;Cc: Sven Schnelle &lt;svens@linux.ibm.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Borislav Petkov &lt;bp@alien8.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: x86@kernel.orgCc: &quot;H. Peter Anvin&quot; &lt;hpa@zytor.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Cc: Song Liu &lt;song@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: KP Singh &lt;kpsingh@kernel.org&gt;Cc: Matt Bobrowski &lt;mattbobrowski@google.com&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Cc: Andrii Nakryiko &lt;andrii@kernel.org&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: Eduard Zingerman &lt;eddyz87@gmail.com&gt;Cc: Yonghong Song &lt;yonghong.song@linux.dev&gt;Cc: John Fastabend &lt;john.fastabend@gmail.com&gt;Cc: Stanislav Fomichev &lt;sdf@fomichev.me&gt;Cc: Hao Luo &lt;haoluo@google.com&gt;Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;Link: https://lore.kernel.org/173518995092.391279.6765116450352977627.stgit@devnote2Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 26 Dec 2024 05:12:31 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>46bc0823 - fprobe: Use ftrace_regs in fprobe entry handler</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#46bc0823</link>
        <description>fprobe: Use ftrace_regs in fprobe entry handlerThis allows fprobes to be available with CONFIG_DYNAMIC_FTRACE_WITH_ARGSinstead of CONFIG_DYNAMIC_FTRACE_WITH_REGS, then we can enable fprobeon arm64.Cc: Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: bpf &lt;bpf@vger.kernel.org&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alan Maguire &lt;alan.maguire@oracle.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Link: https://lore.kernel.org/173518994037.391279.2786805566359674586.stgit@devnote2Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Acked-by: Florent Revest &lt;revest@chromium.org&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 26 Dec 2024 05:12:20 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a3ed4157 - fgraph: Replace fgraph_ret_regs with ftrace_regs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#a3ed4157</link>
        <description>fgraph: Replace fgraph_ret_regs with ftrace_regsUse ftrace_regs instead of fgraph_ret_regs for tracing return valueon function_graph tracer because of simplifying the callback interface.The CONFIG_HAVE_FUNCTION_GRAPH_RETVAL is also replaced byCONFIG_HAVE_FUNCTION_GRAPH_FREGS.Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Acked-by: Heiko Carstens &lt;hca@linux.ibm.com&gt;Acked-by: Will Deacon &lt;will@kernel.org&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;Cc: Florent Revest &lt;revest@chromium.org&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: bpf &lt;bpf@vger.kernel.org&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alan Maguire &lt;alan.maguire@oracle.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: WANG Xuerui &lt;kernel@xen0n.name&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Albert Ou &lt;aou@eecs.berkeley.edu&gt;Cc: Vasily Gorbik &lt;gor@linux.ibm.com&gt;Cc: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: Christian Borntraeger &lt;borntraeger@linux.ibm.com&gt;Cc: Sven Schnelle &lt;svens@linux.ibm.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Borislav Petkov &lt;bp@alien8.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: x86@kernel.orgCc: &quot;H. Peter Anvin&quot; &lt;hpa@zytor.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Link: https://lore.kernel.org/173518991508.391279.16635322774382197642.stgit@devnote2Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 26 Dec 2024 05:11:55 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>21e92806 - function_graph: Support recording and printing the function return address</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#21e92806</link>
        <description>function_graph: Support recording and printing the function return addressWhen using function_graph tracer to analyze the flow of kernel functionexecution, it is often necessary to quickly locate the exact line of codewhere the call occurs. While this may be easy at times, it can be moretime-consuming when some functions are inlined or the flow is too long.This feature aims to simplify the process by recording the return addressof traced funcions and printing it when outputing trace logs.To enhance human readability, the prefix &apos;ret=&apos; is used for the kernel returnvalue, while &apos;&lt;-&apos; serves as the prefix for the return address in trace logs tomake it look more like the function tracer.A new trace option named &apos;funcgraph-retaddr&apos; has been introduced, and theexisting option &apos;sym-addr&apos; can be used to control the format of the returnaddress.See below logs with both funcgraph-retval and funcgraph-retaddr enabled.0)             | load_elf_binary() { /* &lt;-bprm_execve+0x249/0x600 */0)             |   load_elf_phdrs() { /* &lt;-load_elf_binary+0x84/0x1730 */0)             |     __kmalloc_noprof() { /* &lt;-load_elf_phdrs+0x4a/0xb0 */0)   3.657 us  |       __cond_resched(); /* &lt;-__kmalloc_noprof+0x28c/0x390 ret=0x0 */0) + 24.335 us |     } /* __kmalloc_noprof ret=0xffff8882007f3000 */0)             |     kernel_read() { /* &lt;-load_elf_phdrs+0x6c/0xb0 */0)             |       rw_verify_area() { /* &lt;-kernel_read+0x2b/0x50 */0)             |         security_file_permission() { /* &lt;-kernel_read+0x2b/0x50 */0)             |           selinux_file_permission() { /* &lt;-security_file_permission+0x26/0x40 */0)             |             __inode_security_revalidate() { /* &lt;-selinux_file_permission+0x6d/0x140 */0)   2.034 us  |               __cond_resched(); /* &lt;-__inode_security_revalidate+0x5f/0x80 ret=0x0 */0)   6.602 us  |             } /* __inode_security_revalidate ret=0x0 */0)   2.214 us  |             avc_policy_seqno(); /* &lt;-selinux_file_permission+0x107/0x140 ret=0x0 */0) + 16.670 us |           } /* selinux_file_permission ret=0x0 */0) + 20.809 us |         } /* security_file_permission ret=0x0 */0) + 25.217 us |       } /* rw_verify_area ret=0x0 */0)             |       __kernel_read() { /* &lt;-load_elf_phdrs+0x6c/0xb0 */0)             |         ext4_file_read_iter() { /* &lt;-__kernel_read+0x160/0x2e0 */Then, we can use the faddr2line to locate the source code, for example:$ ./scripts/faddr2line ./vmlinux load_elf_phdrs+0x6c/0xb0load_elf_phdrs+0x6c/0xb0:elf_read at fs/binfmt_elf.c:471(inlined by) load_elf_phdrs at fs/binfmt_elf.c:531Link: https://lore.kernel.org/20240915032912.1118397-1-dolinux.peng@gmail.comReported-by: kernel test robot &lt;lkp@intel.com&gt;Closes: https://lore.kernel.org/oe-kbuild-all/202409150605.HgUmU8ea-lkp@intel.com/Signed-off-by: Donglin Peng &lt;dolinux.peng@gmail.com&gt;[ Rebased to handle text_delta offsets ]Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Sun, 15 Sep 2024 03:29:12 +0000</pubDate>
        <dc:creator>Donglin Peng &lt;pengdonglin@xiaomi.com&gt;</dc:creator>
    </item>
<item>
        <title>3572bd56 - tracing: Build event generation tests only as modules</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#3572bd56</link>
        <description>tracing: Build event generation tests only as modulesThe kprobes and synth event generation test modules add events and lock(get a reference) those event file reference in module init function,and unlock and delete it in module exit function. This is because thoseare designed for playing as modules.If we make those modules as built-in, those events are left locked in thekernel, and never be removed. This causes kprobe event self-test failureas below.[   97.349708] ------------[ cut here ]------------[   97.353453] WARNING: CPU: 3 PID: 1 at kernel/trace/trace_kprobe.c:2133 kprobe_trace_self_tests_init+0x3f1/0x480[   97.357106] Modules linked in:[   97.358488] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 6.9.0-g699646734ab5-dirty #14[   97.361556] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014[   97.363880] RIP: 0010:kprobe_trace_self_tests_init+0x3f1/0x480[   97.365538] Code: a8 24 08 82 e9 ae fd ff ff 90 0f 0b 90 48 c7 c7 e5 aa 0b 82 e9 ee fc ff ff 90 0f 0b 90 48 c7 c7 2d 61 06 82 e9 8e fd ff ff 90 &lt;0f&gt; 0b 90 48 c7 c7 33 0b 0c 82 89 c6 e8 6e 03 1f ff 41 ff c7 e9 90[   97.370429] RSP: 0000:ffffc90000013b50 EFLAGS: 00010286[   97.371852] RAX: 00000000fffffff0 RBX: ffff888005919c00 RCX: 0000000000000000[   97.373829] RDX: ffff888003f40000 RSI: ffffffff8236a598 RDI: ffff888003f40a68[   97.375715] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000[   97.377675] R10: ffffffff811c9ae5 R11: ffffffff8120c4e0 R12: 0000000000000000[   97.379591] R13: 0000000000000001 R14: 0000000000000015 R15: 0000000000000000[   97.381536] FS:  0000000000000000(0000) GS:ffff88807dcc0000(0000) knlGS:0000000000000000[   97.383813] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033[   97.385449] CR2: 0000000000000000 CR3: 0000000002244000 CR4: 00000000000006b0[   97.387347] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000[   97.389277] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400[   97.391196] Call Trace:[   97.391967]  &lt;TASK&gt;[   97.392647]  ? __warn+0xcc/0x180[   97.393640]  ? kprobe_trace_self_tests_init+0x3f1/0x480[   97.395181]  ? report_bug+0xbd/0x150[   97.396234]  ? handle_bug+0x3e/0x60[   97.397311]  ? exc_invalid_op+0x1a/0x50[   97.398434]  ? asm_exc_invalid_op+0x1a/0x20[   97.399652]  ? trace_kprobe_is_busy+0x20/0x20[   97.400904]  ? tracing_reset_all_online_cpus+0x15/0x90[   97.402304]  ? kprobe_trace_self_tests_init+0x3f1/0x480[   97.403773]  ? init_kprobe_trace+0x50/0x50[   97.404972]  do_one_initcall+0x112/0x240[   97.406113]  do_initcall_level+0x95/0xb0[   97.407286]  ? kernel_init+0x1a/0x1a0[   97.408401]  do_initcalls+0x3f/0x70[   97.409452]  kernel_init_freeable+0x16f/0x1e0[   97.410662]  ? rest_init+0x1f0/0x1f0[   97.411738]  kernel_init+0x1a/0x1a0[   97.412788]  ret_from_fork+0x39/0x50[   97.413817]  ? rest_init+0x1f0/0x1f0[   97.414844]  ret_from_fork_asm+0x11/0x20[   97.416285]  &lt;/TASK&gt;[   97.417134] irq event stamp: 13437323[   97.418376] hardirqs last  enabled at (13437337): [&lt;ffffffff8110bc0c&gt;] console_unlock+0x11c/0x150[   97.421285] hardirqs last disabled at (13437370): [&lt;ffffffff8110bbf1&gt;] console_unlock+0x101/0x150[   97.423838] softirqs last  enabled at (13437366): [&lt;ffffffff8108e17f&gt;] handle_softirqs+0x23f/0x2a0[   97.426450] softirqs last disabled at (13437393): [&lt;ffffffff8108e346&gt;] __irq_exit_rcu+0x66/0xd0[   97.428850] ---[ end trace 0000000000000000 ]---And also, since we can not cleanup dynamic_event file, ftracetest arefailed too.To avoid these issues, build these tests only as modules.Link: https://lore.kernel.org/all/171811263754.85078.5877446624311852525.stgit@devnote2/Fixes: 9fe41efaca08 (&quot;tracing: Add synth event generation test module&quot;)Fixes: 64836248dda2 (&quot;tracing: Add kprobe event command generation test module&quot;)Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Reviewed-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Tue, 11 Jun 2024 13:30:37 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b0e28a4b - ftrace: make extra rcu_is_watching() validation check optional</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#b0e28a4b</link>
        <description>ftrace: make extra rcu_is_watching() validation check optionalIntroduce CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING config option tocontrol whether ftrace low-level code performs additionalrcu_is_watching()-based validation logic in an attempt to catch noinstrviolations.This check is expected to never be true and is mostly useful forlow-level validation of ftrace subsystem invariants. For most users itshould probably be kept disabled to eliminate unnecessary runtimeoverhead.This improves BPF multi-kretprobe (relying on ftrace and rethookinfrastructure) runtime throughput by 2%, according to BPF benchmarks ([0]).  [0] https://lore.kernel.org/bpf/CAEf4BzauQ2WKMjZdc9s0rBWa01BYbgwHN6aNDXQSHYia47pQ-w@mail.gmail.com/Link: https://lore.kernel.org/all/20240418190909.704286-1-andrii@kernel.org/Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;Cc: Masami Hiramatsu &lt;mhiramat@kernel.org&gt;Cc: Paul E. McKenney &lt;paulmck@kernel.org&gt;Acked-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 18 Apr 2024 19:09:08 +0000</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andrii@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d96c3600 - tracing: Fix FTRACE_RECORD_RECURSION_SIZE Kconfig entry</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#d96c3600</link>
        <description>tracing: Fix FTRACE_RECORD_RECURSION_SIZE Kconfig entryFix FTRACE_RECORD_RECURSION_SIZE entry, replace tab witha space character. It helps Kconfig parsers to read filewithout error.Link: https://lore.kernel.org/linux-trace-kernel/20240322121801.1803948-1-ppandit@redhat.comCc: Masami Hiramatsu &lt;mhiramat@kernel.org&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Fixes: 773c16705058 (&quot;ftrace: Add recording of functions that caused recursion&quot;)Signed-off-by: Prasad Pandit &lt;pjp@fedoraproject.org&gt;Reviewed-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Fri, 22 Mar 2024 12:18:01 +0000</pubDate>
        <dc:creator>Prasad Pandit &lt;pjp@fedoraproject.org&gt;</dc:creator>
    </item>
<item>
        <title>02b3c5fc - tracing: Select new NEED_TASKS_RCU Kconfig option</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#02b3c5fc</link>
        <description>tracing: Select new NEED_TASKS_RCU Kconfig optionCurrently, if a Kconfig option depends on TASKS_RCU, it conditionally does&quot;select TASKS_RCU if PREEMPTION&quot;.  This works, but requires any change inthis enablement logic to be replicated across all such &quot;select&quot; clauses.A new NEED_TASKS_RCU Kconfig option has been created to allow thisenablement logic to be in one place in kernel/rcu/Kconfig.Therefore, select the new NEED_TASKS_RCU Kconfig option instead of theold TASKS_RCU option.Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;Cc: Masami Hiramatsu &lt;mhiramat@kernel.org&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Cc: &lt;linux-trace-kernel@vger.kernel.org&gt;Cc: Ankur Arora &lt;ankur.a.arora@oracle.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Acked-by: Mark Rutland &lt;mark.rutland@arm.com&gt;Signed-off-by: Uladzislau Rezki (Sony) &lt;urezki@gmail.com&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Thu, 22 Feb 2024 18:25:44 +0000</pubDate>
        <dc:creator>Paul E. McKenney &lt;paulmck@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a1be9ccc - function_graph: Support recording and printing the return value of function</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#a1be9ccc</link>
        <description>function_graph: Support recording and printing the return value of functionAnalyzing system call failures with the function_graph tracer can be atime-consuming process, particularly when locating the kernel functionthat first returns an error in the trace logs. This change aims tosimplify the process by recording the function return value to the&apos;retval&apos; member of &apos;ftrace_graph_ret&apos; and printing it when outputtingthe trace log.We have introduced new trace options: funcgraph-retval andfuncgraph-retval-hex. The former controls whether to display the returnvalue, while the latter controls the display format.Please note that even if a function&apos;s return type is void, a returnvalue will still be printed. You can simply ignore it.This patch only establishes the fundamental infrastructure. Subsequentpatches will make this feature available on some commonly used processorarchitectures.Here is an example:I attempted to attach the demo process to a cpu cgroup, but it failed:echo `pidof demo` &gt; /sys/fs/cgroup/cpu/test/tasks-bash: echo: write error: Invalid argumentThe strace logs indicate that the write system call returned -EINVAL(-22):...write(1, &quot;273\n&quot;, 4)                    = -1 EINVAL (Invalid argument)...To capture trace logs during a write system call, use the followingcommands:cd /sys/kernel/debug/tracing/echo 0 &gt; tracing_onecho &gt; traceecho *sys_write &gt; set_graph_functionecho *spin* &gt; set_graph_notraceecho *rcu* &gt;&gt; set_graph_notraceecho *alloc* &gt;&gt; set_graph_notraceecho preempt* &gt;&gt; set_graph_notraceecho kfree* &gt;&gt; set_graph_notraceecho $$ &gt; set_ftrace_pidecho function_graph &gt; current_tracerecho 1 &gt; options/funcgraph-retvalecho 0 &gt; options/funcgraph-retval-hexecho 1 &gt; tracing_onecho `pidof demo` &gt; /sys/fs/cgroup/cpu/test/tasksecho 0 &gt; tracing_oncat trace &gt; ~/trace.logTo locate the root cause, search for error code -22 directly in the filetrace.log and identify the first function that returned -22. Once youhave identified this function, examine its code to determine the rootcause.For example, in the trace log below, cpu_cgroup_can_attachreturned -22 first, so we can focus our analysis on this function toidentify the root cause.... 1)          | cgroup_migrate() { 1) 0.651 us |   cgroup_migrate_add_task(); /* = 0xffff93fcfd346c00 */ 1)          |   cgroup_migrate_execute() { 1)          |     cpu_cgroup_can_attach() { 1)          |       cgroup_taskset_first() { 1) 0.732 us |         cgroup_taskset_next(); /* = 0xffff93fc8fb20000 */ 1) 1.232 us |       } /* cgroup_taskset_first = 0xffff93fc8fb20000 */ 1) 0.380 us |       sched_rt_can_attach(); /* = 0x0 */ 1) 2.335 us |     } /* cpu_cgroup_can_attach = -22 */ 1) 4.369 us |   } /* cgroup_migrate_execute = -22 */ 1) 7.143 us | } /* cgroup_migrate = -22 */...Link: https://lkml.kernel.org/r/1fc502712c981e0e6742185ba242992170ac9da8.1680954589.git.pengdonglin@sangfor.com.cnTested-by: Florian Kauer &lt;florian.kauer@linutronix.de&gt;Acked-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Signed-off-by: Donglin Peng &lt;pengdonglin@sangfor.com.cn&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Sat, 08 Apr 2023 12:42:15 +0000</pubDate>
        <dc:creator>Donglin Peng &lt;pengdonglin@sangfor.com.cn&gt;</dc:creator>
    </item>
<item>
        <title>b576e097 - tracing/probes: Support function parameters if BTF is available</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#b576e097</link>
        <description>tracing/probes: Support function parameters if BTF is availableSupport function or tracepoint parameters by name if BTF support is enabledand the event is for function entry (this feature can be used with kprobe-events, fprobe-events and tracepoint probe events.)Note that the BTF variable syntax does not require a prefix. If it startswith an alphabetic character or an underscore (&apos;_&apos;) without a prefix like&apos;$&apos; and &apos;%&apos;, it is considered as a BTF variable.If you specify only the BTF variable name, the argument name will alsobe the same name instead of &apos;arg*&apos;. # echo &apos;p vfs_read count pos&apos; &gt;&gt; dynamic_events # echo &apos;f vfs_write count pos&apos; &gt;&gt; dynamic_events # echo &apos;t sched_overutilized_tp rd overutilized&apos; &gt;&gt; dynamic_events # cat dynamic_eventsp:kprobes/p_vfs_read_0 vfs_read count=count pos=posf:fprobes/vfs_write__entry vfs_write count=count pos=post:tracepoints/sched_overutilized_tp sched_overutilized_tp rd=rd overutilized=overutilizedLink: https://lore.kernel.org/all/168507474014.913472.16963996883278039183.stgit@mhiramat.roam.corp.google.com/Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Reviewed-by: Alan Maguire &lt;alan.maguire@oracle.com&gt;Tested-by: Alan Maguire &lt;alan.maguire@oracle.com&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Tue, 06 Jun 2023 12:39:56 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>334e5519 - tracing/probes: Add fprobe events for tracing function entry and exit.</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#334e5519</link>
        <description>tracing/probes: Add fprobe events for tracing function entry and exit.Add fprobe events for tracing function entry and exit instead of kprobeevents. With this change, we can continue to trace function entry/exiteven if the CONFIG_KPROBES_ON_FTRACE is not available. SinceCONFIG_KPROBES_ON_FTRACE requires the CONFIG_DYNAMIC_FTRACE_WITH_REGS,it is not available if the architecture only supportsCONFIG_DYNAMIC_FTRACE_WITH_ARGS. And that means kprobe events can notprobe function entry/exit effectively on such architecture.But this can be solved if the dynamic events supports fprobe events.The fprobe event is a new dynamic events which is only for the function(symbol) entry and exit. This event accepts non register fetch argumentsso that user can trace the function arguments and return values.The fprobe events syntax is here; f[:[GRP/][EVENT]] FUNCTION [FETCHARGS] f[MAXACTIVE][:[GRP/][EVENT]] FUNCTION%return [FETCHARGS]E.g. # echo &apos;f vfs_read $arg1&apos;  &gt;&gt; dynamic_events # echo &apos;f vfs_read%return $retval&apos;  &gt;&gt; dynamic_events # cat dynamic_events f:fprobes/vfs_read__entry vfs_read arg1=$arg1 f:fprobes/vfs_read__exit vfs_read%return arg1=$retval # echo 1 &gt; events/fprobes/enable # head -n 20 trace | tail #           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION #              | |         |   |||||     |         |              sh-142     [005] ...1.   448.386420: vfs_read__entry: (vfs_read+0x4/0x340) arg1=0xffff888007f7c540              sh-142     [005] .....   448.386436: vfs_read__exit: (ksys_read+0x75/0x100 &lt;- vfs_read) arg1=0x1              sh-142     [005] ...1.   448.386451: vfs_read__entry: (vfs_read+0x4/0x340) arg1=0xffff888007f7c540              sh-142     [005] .....   448.386458: vfs_read__exit: (ksys_read+0x75/0x100 &lt;- vfs_read) arg1=0x1              sh-142     [005] ...1.   448.386469: vfs_read__entry: (vfs_read+0x4/0x340) arg1=0xffff888007f7c540              sh-142     [005] .....   448.386476: vfs_read__exit: (ksys_read+0x75/0x100 &lt;- vfs_read) arg1=0x1              sh-142     [005] ...1.   448.602073: vfs_read__entry: (vfs_read+0x4/0x340) arg1=0xffff888007f7c540              sh-142     [005] .....   448.602089: vfs_read__exit: (ksys_read+0x75/0x100 &lt;- vfs_read) arg1=0x1Link: https://lore.kernel.org/all/168507469754.913472.6112857614708350210.stgit@mhiramat.roam.corp.google.com/Reported-by: kernel test robot &lt;lkp@intel.com&gt;Link: https://lore.kernel.org/all/202302011530.7vm4O8Ro-lkp@intel.com/Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Tue, 06 Jun 2023 12:39:55 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>88fe1ec7 - tracing: Unbreak user events</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#88fe1ec7</link>
        <description>tracing: Unbreak user eventsThe user events was added a bit prematurely, and there were a few kerneldevelopers that had issues with it. The API also needed a bit of work tomake sure it would be stable. It was decided to make user events &quot;broken&quot;until this was settled. Now it has a new API that appears to be as stableas it will be without the use of a crystal ball. It&apos;s being used withinMicrosoft as is, which means the API has had some testing in real worlduse cases. It went through many discussions in the bi-weekly tracingmeetings, and there&apos;s been no more comments about updates.I feel this is good to go.Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Tue, 28 Mar 2023 15:10:57 +0000</pubDate>
        <dc:creator>Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;</dc:creator>
    </item>
<item>
        <title>72357590 - tracing/user_events: Use remote writes for event enablement</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#72357590</link>
        <description>tracing/user_events: Use remote writes for event enablementAs part of the discussions for user_events aligned with user spacetracers, it was determined that user programs should register a alignedvalue to set or clear a bit when an event becomes enabled. Currently ashared page is being used that requires mmap(). Remove the shared pageimplementation and move to a user registered address implementation.In this new model during the event registration from user programs 3 newvalues are specified. The first is the address to update when the eventis either enabled or disabled. The second is the bit to set/clear toreflect the event being enabled. The third is the size of the value atthe specified address.This allows for a local 32/64-bit value in user programs to supportboth kernel and user tracers. As an example, setting bit 31 for kerneltracers when the event becomes enabled allows for user tracers to usethe other bits for ref counts or other flags. The kernel side updatesthe bit atomically, user programs need to also update these valuesatomically.User provided addresses must be aligned on a natural boundary, thisallows for single page checking and prevents odd behaviors such as aenable value straddling 2 pages instead of a single page. Currentlypage faults are only logged, future patches will handle these.Link: https://lkml.kernel.org/r/20230328235219.203-4-beaub@linux.microsoft.comSuggested-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Signed-off-by: Beau Belgrave &lt;beaub@linux.microsoft.com&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Tue, 28 Mar 2023 23:52:10 +0000</pubDate>
        <dc:creator>Beau Belgrave &lt;beaub@linux.microsoft.com&gt;</dc:creator>
    </item>
<item>
        <title>60c89718 - ftrace: Make DIRECT_CALLS work WITH_ARGS and !WITH_REGS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/trace/Kconfig#60c89718</link>
        <description>ftrace: Make DIRECT_CALLS work WITH_ARGS and !WITH_REGSDirect called trampolines can be called in two ways:- either from the ftrace callsite. In this case, they do not access any  struct ftrace_regs nor pt_regs- Or, if a ftrace ops is also attached, from the end of a ftrace  trampoline. In this case, the call_direct_funcs ops is in charge of  setting the direct call trampoline&apos;s address in a struct ftrace_regsSince:commit 9705bc709604 (&quot;ftrace: pass fregs to arch_ftrace_set_direct_caller()&quot;)The later case no longer requires a full pt_regs. It only needs a structftrace_regs so DIRECT_CALLS can work with both WITH_ARGS or WITH_REGS.With architectures like arm64 already abandoning WITH_REGS in favor ofWITH_ARGS, it&apos;s important to have DIRECT_CALLS work WITH_ARGS only.Link: https://lkml.kernel.org/r/20230321140424.345218-7-revest@chromium.orgSigned-off-by: Florent Revest &lt;revest@chromium.org&gt;Co-developed-by: Mark Rutland &lt;mark.rutland@arm.com&gt;Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;Acked-by: Jiri Olsa &lt;jolsa@kernel.org&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/kernel/trace/Kconfig</description>
        <pubDate>Tue, 21 Mar 2023 14:04:23 +0000</pubDate>
        <dc:creator>Florent Revest &lt;revest@chromium.org&gt;</dc:creator>
    </item>
</channel>
</rss>
