Messages in this thread | | | Subject | Re: [PATCH 0/7] tracing: bug fixes for tracing/filters | From | Tom Zanussi <> | Date | Sat, 11 Apr 2009 04:30:48 -0500 |
| |
Hi,
On Sat, 2009-04-11 at 15:52 +0800, Li Zefan wrote: > This patchset fixes some bugs in tracing/filters. Most of the change > goes to the last patch, and others are small ones. >
At first glance, they look good and fix real problems - thanks for fixing them. Re patch 7, there's been some discussion about using rcu for this. See:
http://lkml.org/lkml/2009/4/5/46
>From that discussion, it seems some non-trivial changes to rcu would be needed for this. I'm playing around with a different idea now to hopefully avoid the need for that, or the other approach mentioned, of temporarily stopping tracing while removing/changing the filters.
Basically my thought is to avoid the problem by not allocating or destroying the preds when removing filters but instead switch out the pred->fns with a nop version while keeping the fields intact for awhile. I think that will work for removing filters, but I still need to think about how it would (or would not) work for replacing them.
Tom
> Maybe 3rd to 6th patches can be regarded as small enhancements instead > of bug fixes? But they are behavioural changes. > > > [PATCH 1/7] tracing/filters: NUL-terminate user input filter > [PATCH 2/7] tracing/filters: fix NULL pointer dereference > [PATCH 3/7] tracing/filters: allow user input integer to be oct or hex > [PATCH 4/7] tracing/filters: allow user to specify a filter val to be string > [PATCH 5/7] tracing/filters: disallow newline as delimeter > [PATCH 6/7] tracing/filters: return proper error code when writing filter file > [PATCH 7/7] tracing/filters: make filter preds RCU safe > > kernel/trace/trace.h | 6 +- > kernel/trace/trace_events.c | 16 +++-- > kernel/trace/trace_events_filter.c | 131 ++++++++++++++++++++++++++--------- > kernel/trace/trace_events_stage_3.h | 10 +++- > 4 files changed, 121 insertions(+), 42 deletions(-) > ---
| |