Branch data Line data Source code
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 : : #include <asm/trace/exceptions.h> 14 : : #include <asm/trace/irq_vectors.h> 15 : : 16 : : DEFINE_STATIC_KEY_FALSE(trace_pagefault_key); 17 : : 18 : 0 : int trace_pagefault_reg(void) 19 : : { 20 : 0 : static_branch_inc(&trace_pagefault_key); 21 : 0 : return 0; 22 : : } 23 : : 24 : 0 : void trace_pagefault_unreg(void) 25 : : { 26 : 0 : static_branch_dec(&trace_pagefault_key); 27 : 0 : } 28 : : 29 : : #ifdef CONFIG_SMP 30 : : 31 : : DEFINE_STATIC_KEY_FALSE(trace_resched_ipi_key); 32 : : 33 : 0 : int trace_resched_ipi_reg(void) 34 : : { 35 : 0 : static_branch_inc(&trace_resched_ipi_key); 36 : 0 : return 0; 37 : : } 38 : : 39 : 0 : void trace_resched_ipi_unreg(void) 40 : : { 41 : 0 : static_branch_dec(&trace_resched_ipi_key); 42 : 0 : } 43 : : 44 : : #endif