mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 05:26:41 +07:00
809547472e
The pagefault and the resched IPI handler are the only ones where it is worth to optimize the code further in case tracepoints are disabled. But it makes no sense to have a single static key for both. Seperate the static keys so the facilities are handled seperately. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Andy Lutomirski <luto@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/20170828064957.536699116@linutronix.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
42 lines
688 B
C
42 lines
688 B
C
/*
|
|
* Code for supporting irq vector tracepoints.
|
|
*
|
|
* Copyright (C) 2013 Seiji Aguchi <seiji.aguchi@hds.com>
|
|
*
|
|
*/
|
|
#include <linux/jump_label.h>
|
|
#include <linux/atomic.h>
|
|
|
|
#include <asm/hw_irq.h>
|
|
#include <asm/desc.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);
|
|
}
|
|
|
|
#ifdef CONFIG_SMP
|
|
|
|
DEFINE_STATIC_KEY_FALSE(trace_resched_ipi_key);
|
|
|
|
int trace_resched_ipi_reg(void)
|
|
{
|
|
static_branch_inc(&trace_resched_ipi_key);
|
|
return 0;
|
|
}
|
|
|
|
void trace_resched_ipi_unreg(void)
|
|
{
|
|
static_branch_dec(&trace_resched_ipi_key);
|
|
}
|
|
|
|
#endif
|