tracepoint: simplification for tracepoints using RCU
authorLai Jiangshan <laijs@cn.fujitsu.com>
Tue, 28 Oct 2008 02:51:49 +0000 (10:51 +0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 3 Nov 2008 09:28:30 +0000 (10:28 +0100)
commit19dba33c43a2f0f2aa727ae075ec3b11330775ef
treea1e60ef0e892ad7d87938b1caeeadc605e2d487a
parent45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03
tracepoint: simplification for tracepoints using RCU

Impact: simplify implementation

Now, unused memory is handled by struct tp_probes.

old code use these three field to handle unused memory.
struct tracepoint_entry {
...
struct rcu_head rcu;
void *oldptr;
unsigned char rcu_pending:1;
...
};

in this way, unused memory is handled by struct tracepoint_entry.
it bring reenter bug(it was fixed) and tracepoint.c is filled
full of ".*rcu.*" code statements. this patch removes all these.

and:
  rcu_barrier_sched() is removed.
  Do not need regain tracepoints_mutex after tracepoint_update_probes()
  several little cleanup.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/tracepoint.c