tracing/filter: Swap entire filter of events
authorSteven Rostedt <srostedt@redhat.com>
Fri, 4 Feb 2011 04:25:46 +0000 (23:25 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 8 Feb 2011 01:56:20 +0000 (20:56 -0500)
commit75b8e98263fdb0bfbdeba60d4db463259f1fe8a2
treefdd1e66316b049523c76e34c816a812598d07a3c
parentbf93f9ed3a2cb89eb7e58851139d3be375b98027
tracing/filter: Swap entire filter of events

When creating a new filter, instead of allocating the filter to the
event call first and then processing the filter, it is easier to
process a temporary filter and then just swap it with the call filter.
By doing this, it simplifies the code.

A filter is allocated and processed, when it is done, it is
swapped with the call filter, synchronize_sched() is called to make
sure all callers are done with the old filter (filters are called
with premption disabled), and then the old filter is freed.

Cc: Tom Zanussi <tzanussi@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_events_filter.c