tracing: Kill destroy_preds() and destroy_file_preds()
destroy_preds() makes no sense. The only caller, event_remove(), actually wants destroy_file_preds(). __trace_remove_event_call() does destroy_call_preds() which takes care of call->filter. And after the previous change we can simply remove destroy_preds() from event_remove(), we are going to call remove_event_from_tracers() which in turn calls remove_event_file_dir()->free_event_filter(). Link: http://lkml.kernel.org/p/20140715184813.GA20488@redhat.com Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Родитель
97b8ee8453
Коммит
3e5454d656
|
@ -404,7 +404,6 @@ enum event_trigger_type {
|
|||
ETT_EVENT_ENABLE = (1 << 3),
|
||||
};
|
||||
|
||||
extern void destroy_preds(struct ftrace_event_file *file);
|
||||
extern void destroy_call_preds(struct ftrace_event_call *call);
|
||||
extern int filter_match_preds(struct event_filter *filter, void *rec);
|
||||
|
||||
|
|
|
@ -1621,7 +1621,6 @@ static void event_remove(struct ftrace_event_call *call)
|
|||
if (file->event_call != call)
|
||||
continue;
|
||||
ftrace_event_enable_disable(file, 0);
|
||||
destroy_preds(file);
|
||||
/*
|
||||
* The do_for_each_event_file() is
|
||||
* a double loop. After finding the call for this
|
||||
|
|
|
@ -810,26 +810,6 @@ void destroy_call_preds(struct ftrace_event_call *call)
|
|||
call->filter = NULL;
|
||||
}
|
||||
|
||||
static void destroy_file_preds(struct ftrace_event_file *file)
|
||||
{
|
||||
__free_filter(file->filter);
|
||||
file->filter = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Called when destroying the ftrace_event_file.
|
||||
* The file is being freed, so we do not need to worry about
|
||||
* the file being currently used. This is for module code removing
|
||||
* the tracepoints from within it.
|
||||
*/
|
||||
void destroy_preds(struct ftrace_event_file *file)
|
||||
{
|
||||
if (file->event_call->flags & TRACE_EVENT_FL_USE_CALL_FILTER)
|
||||
destroy_call_preds(file->event_call);
|
||||
else
|
||||
destroy_file_preds(file);
|
||||
}
|
||||
|
||||
static struct event_filter *__alloc_filter(void)
|
||||
{
|
||||
struct event_filter *filter;
|
||||
|
|
Загрузка…
Ссылка в новой задаче