linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] tracing: introduce TRACE_EVENT_NOP and use it
@ 2019-03-26 12:13 Yafang Shao
  2019-03-26 12:13 ` [PATCH v2 1/3] tracing: introduce TRACE_EVENT_NOP() Yafang Shao
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Yafang Shao @ 2019-03-26 12:13 UTC (permalink / raw)
  To: rostedt
  Cc: mingo, peterz, paulmck, josh, mathieu.desnoyers, jiangshanlai,
	joel, linux-kernel, shaoyafang, Yafang Shao

In this patchset, I introduce some new macros TRACE_EVENT_NOP,
DEFINE_EVENT_NOP and DECLARE_EVENT_CLASS_NOP, which will
define a tracepoint as do-nothing inline function.
	#define DECLARE_EVENT_NOP(name, proto)			\
		static inline void trace_##name(proto)		\
		{ }						\
		static inline bool trace_##name##_enabled(void)	\
		{						\
			return false;				\
		}

Let's take some examples for why these macros are needed.

- sched
The tracepoints trace_sched_stat_{iowait, blocked, wait, sleep} should
be not exposed to user if CONFIG_SCHEDSTATS is not set.

- rcu
When CONFIG_RCU_TRACE is not set, some rcu tracepoints are defined as
do-nothing macro without validating arguments, that is not proper.
We should validate the arguments.

Yafang Shao (3):
  tracing: introduce TRACE_EVENT_NOP()
  sched/fair: do not expose some tracepoints to user if
    CONFIG_SCHEDSTATS is not set
  rcu: validate arguments for rcu tracepoints

 include/linux/tracepoint.h   | 15 ++++++++
 include/trace/define_trace.h |  8 +++++
 include/trace/events/rcu.h   | 81 ++++++++++++++------------------------------
 include/trace/events/sched.h | 21 ++++++++----
 kernel/rcu/rcu.h             |  9 ++---
 kernel/rcu/tree.c            |  8 ++---
 6 files changed, 68 insertions(+), 74 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-04-01 10:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-26 12:13 [PATCH v2 0/3] tracing: introduce TRACE_EVENT_NOP and use it Yafang Shao
2019-03-26 12:13 ` [PATCH v2 1/3] tracing: introduce TRACE_EVENT_NOP() Yafang Shao
2019-03-26 12:13 ` [PATCH v2 2/3] sched/fair: do not expose some tracepoints to user if CONFIG_SCHEDSTATS is not set Yafang Shao
2019-03-26 12:21   ` Steven Rostedt
2019-04-01 10:31     ` Peter Zijlstra
2019-03-26 12:13 ` [PATCH v2 3/3] rcu: validate arguments for rcu tracepoints Yafang Shao
2019-03-26 12:22   ` Steven Rostedt
2019-03-26 15:18   ` Paul E. McKenney
2019-03-26 15:29     ` Steven Rostedt
2019-03-27  1:17       ` Yafang Shao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).