| From: Steven Rostedt <rostedt@goodmis.org> |
| Subject: mm, x86/mm: move creating the tlb_flush event back to x86 code |
| Date: Thu, 12 Jun 2025 10:03:13 -0400 |
| |
| Commit e73ad5ff2f76 ("mm, x86/mm: Make the batched unmap TLB flush API |
| more generic") moved the trace_tlb_flush out of mm/rmap.c and back into |
| x86 specific architecture, but it kept the include to the events/tlb.h |
| file, even though it didn't use that event. |
| |
| Then another commit came in and added more events to the mm/rmap.c file |
| and moved the #define CREATE_TRACE_POINTS define from the x86 specific |
| architecture to the generic mm/rmap.h file to create both the tlb_flush |
| tracepoint and the new tracepoints. |
| |
| But since the tlb_flush tracepoint is only x86 specific, it now creates |
| that tracepoint for all other architectures and this wastes approximately |
| 5K of text and meta data that will not be used. |
| |
| Remove the events/tlb.h from mm/rmap.c and add the define |
| CREATE_TRACE_POINTS back in the x86 code. |
| |
| Link: https://lkml.kernel.org/r/20250612100313.3b9a8b80@batman.local.home |
| Fixes: e73ad5ff2f76 ("mm, x86/mm: Make the batched unmap TLB flush API more generic") |
| Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> |
| Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> |
| Cc: Andy Lutomirski <luto@kernel.org> |
| Cc: Borislav Betkov <bp@alien8.de> |
| Cc: David Hildenbrand <david@redhat.com> |
| Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org> |
| Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Thomas Gleinxer <tglx@linutronix.de> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| arch/x86/mm/init.c | 1 + |
| mm/rmap.c | 1 - |
| 2 files changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/x86/mm/init.c~mm-x86-mm-move-creating-the-tlb_flush-event-back-to-x86-code |
| +++ a/arch/x86/mm/init.c |
| @@ -34,6 +34,7 @@ |
| * We need to define the tracepoints somewhere, and tlb.c |
| * is only compiled when SMP=y. |
| */ |
| +#define CREATE_TRACE_POINTS |
| #include <trace/events/tlb.h> |
| |
| #include "mm_internal.h" |
| --- a/mm/rmap.c~mm-x86-mm-move-creating-the-tlb_flush-event-back-to-x86-code |
| +++ a/mm/rmap.c |
| @@ -79,7 +79,6 @@ |
| #include <asm/tlbflush.h> |
| |
| #define CREATE_TRACE_POINTS |
| -#include <trace/events/tlb.h> |
| #include <trace/events/migrate.h> |
| |
| #include "internal.h" |
| _ |