Commit d49ae417 authored by Nam Cao's avatar Nam Cao Committed by Ingo Molnar
Browse files

x86/tracing, x86/mm: Remove redundant trace_pagefault_key



trace_pagefault_key is used to optimize the pagefault tracepoints when it
is disabled. However, tracepoints already have built-in static_key for this
exact purpose.

Remove this redundant key.

Signed-off-by: default avatarNam Cao <namcao@linutronix.de>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Gabriele Monaco <gmonaco@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: John Ogness <john.ogness@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-trace-kernel@vger.kernel.org
Link: https://lore.kernel.org/r/827c7666d2989f08742a4fb869b1ed5bfaaf1dbf.1747046848.git.namcao@linutronix.de
parent 82f2b0b9
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
#ifndef _ASM_TRACE_COMMON_H
#define _ASM_TRACE_COMMON_H

#ifdef CONFIG_TRACING
DECLARE_STATIC_KEY_FALSE(trace_pagefault_key);
#define trace_pagefault_enabled()			\
	static_branch_unlikely(&trace_pagefault_key)
#else
static inline bool trace_pagefault_enabled(void) { return false; }
#endif

#endif
+6 −12
Original line number Diff line number Diff line
@@ -6,10 +6,6 @@
#define _TRACE_PAGE_FAULT_H

#include <linux/tracepoint.h>
#include <asm/trace/common.h>

extern int trace_pagefault_reg(void);
extern void trace_pagefault_unreg(void);

DECLARE_EVENT_CLASS(x86_exceptions,

@@ -34,15 +30,13 @@ DECLARE_EVENT_CLASS(x86_exceptions,
		  (void *)__entry->address, (void *)__entry->ip,
		  __entry->error_code) );

#define DEFINE_PAGE_FAULT_EVENT(name)				\
DEFINE_EVENT_FN(x86_exceptions, name,				\
	TP_PROTO(unsigned long address,	struct pt_regs *regs,	\
		 unsigned long error_code),			\
	TP_ARGS(address, regs, error_code),			\
	trace_pagefault_reg, trace_pagefault_unreg);
DEFINE_EVENT(x86_exceptions, page_fault_user,
	TP_PROTO(unsigned long address,	struct pt_regs *regs, unsigned long error_code),
	TP_ARGS(address, regs, error_code));

DEFINE_PAGE_FAULT_EVENT(page_fault_user);
DEFINE_PAGE_FAULT_EVENT(page_fault_kernel);
DEFINE_EVENT(x86_exceptions, page_fault_kernel,
	TP_PROTO(unsigned long address,	struct pt_regs *regs, unsigned long error_code),
	TP_ARGS(address, regs, error_code));

#undef TRACE_INCLUDE_PATH
#undef TRACE_INCLUDE_FILE
+0 −1
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@
#define _TRACE_IRQ_VECTORS_H

#include <linux/tracepoint.h>
#include <asm/trace/common.h>

#ifdef CONFIG_X86_LOCAL_APIC

+0 −1
Original line number Diff line number Diff line
@@ -141,7 +141,6 @@ obj-$(CONFIG_OF) += devicetree.o
obj-$(CONFIG_UPROBES)			+= uprobes.o

obj-$(CONFIG_PERF_EVENTS)		+= perf_regs.o
obj-$(CONFIG_TRACING)			+= tracepoint.o
obj-$(CONFIG_SCHED_MC_PRIO)		+= itmt.o
obj-$(CONFIG_X86_UMIP)			+= umip.o

arch/x86/kernel/tracepoint.c

deleted100644 → 0
+0 −21
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2013 Seiji Aguchi <seiji.aguchi@hds.com>
 */
#include <linux/jump_label.h>
#include <linux/atomic.h>

#include <asm/trace/exceptions.h>

DEFINE_STATIC_KEY_FALSE(trace_pagefault_key);

int trace_pagefault_reg(void)
{
	static_branch_inc(&trace_pagefault_key);
	return 0;
}

void trace_pagefault_unreg(void)
{
	static_branch_dec(&trace_pagefault_key);
}
Loading