xref: /openbmc/linux/arch/x86/kernel/tracepoint.c (revision ba61bb17)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Code for supporting irq vector tracepoints.
4  *
5  * Copyright (C) 2013 Seiji Aguchi <seiji.aguchi@hds.com>
6  *
7  */
8 #include <linux/jump_label.h>
9 #include <linux/atomic.h>
10 
11 #include <asm/hw_irq.h>
12 #include <asm/desc.h>
13 
14 DEFINE_STATIC_KEY_FALSE(trace_pagefault_key);
15 
16 int trace_pagefault_reg(void)
17 {
18 	static_branch_inc(&trace_pagefault_key);
19 	return 0;
20 }
21 
22 void trace_pagefault_unreg(void)
23 {
24 	static_branch_dec(&trace_pagefault_key);
25 }
26 
27 #ifdef CONFIG_SMP
28 
29 DEFINE_STATIC_KEY_FALSE(trace_resched_ipi_key);
30 
31 int trace_resched_ipi_reg(void)
32 {
33 	static_branch_inc(&trace_resched_ipi_key);
34 	return 0;
35 }
36 
37 void trace_resched_ipi_unreg(void)
38 {
39 	static_branch_dec(&trace_resched_ipi_key);
40 }
41 
42 #endif
43