context_tracking.c (24a9c54182b3758801b8ca6c8c237cc2ff654732) | context_tracking.c (e67198cc05b8ecbb7b8e2d8ef9fb5c8d26821873) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Context tracking: Probe on high level context boundaries such as kernel 4 * and userspace. This includes syscalls and exceptions entry/exit. 5 * 6 * This is used by RCU to remove its dependency on the timer tick while a CPU 7 * runs in userspace. 8 * --- 8 unchanged lines hidden (view full) --- 17 18#include <linux/context_tracking.h> 19#include <linux/rcupdate.h> 20#include <linux/sched.h> 21#include <linux/hardirq.h> 22#include <linux/export.h> 23#include <linux/kprobes.h> 24 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Context tracking: Probe on high level context boundaries such as kernel 4 * and userspace. This includes syscalls and exceptions entry/exit. 5 * 6 * This is used by RCU to remove its dependency on the timer tick while a CPU 7 * runs in userspace. 8 * --- 8 unchanged lines hidden (view full) --- 17 18#include <linux/context_tracking.h> 19#include <linux/rcupdate.h> 20#include <linux/sched.h> 21#include <linux/hardirq.h> 22#include <linux/export.h> 23#include <linux/kprobes.h> 24 |
25 26#ifdef CONFIG_CONTEXT_TRACKING_IDLE 27noinstr void ct_idle_enter(void) 28{ 29 rcu_idle_enter(); 30} 31EXPORT_SYMBOL_GPL(ct_idle_enter); 32 33void ct_idle_exit(void) 34{ 35 rcu_idle_exit(); 36} 37EXPORT_SYMBOL_GPL(ct_idle_exit); 38#endif /* #ifdef CONFIG_CONTEXT_TRACKING_IDLE */ 39 |
|
25#ifdef CONFIG_CONTEXT_TRACKING_USER 26 27#define CREATE_TRACE_POINTS 28#include <trace/events/context_tracking.h> 29 30DEFINE_STATIC_KEY_FALSE(context_tracking_key); 31EXPORT_SYMBOL_GPL(context_tracking_key); 32 --- 235 unchanged lines hidden --- | 40#ifdef CONFIG_CONTEXT_TRACKING_USER 41 42#define CREATE_TRACE_POINTS 43#include <trace/events/context_tracking.h> 44 45DEFINE_STATIC_KEY_FALSE(context_tracking_key); 46EXPORT_SYMBOL_GPL(context_tracking_key); 47 --- 235 unchanged lines hidden --- |