Messages in this thread | | | Date | Tue, 08 Dec 2009 15:49:27 +0800 | From | Li Zefan <> | Subject | Re: [PATCH 03/13] tracing: Move a printk out of ftrace_raw_reg_event_foo() |
| |
>> -static void ftrace_event_enable_disable(struct ftrace_event_call *call, >> +static int ftrace_event_enable_disable(struct ftrace_event_call *call, >> int enable) >> { >> + int ret = 0; >> + >> switch (enable) { >> case 0: >> if (call->enabled) { >> @@ -131,12 +133,19 @@ static void ftrace_event_enable_disable(struct ftrace_event_call *call, >> break; >> case 1: >> if (!call->enabled) { >> + ret = call->regfunc(call); >> + if (ret) { >> + pr_info("event trace: Could not enable event " >> + "%s\n", call->name); >> + break; >> + } >> call->enabled = 1; >> tracing_start_cmdline_record(); >> - call->regfunc(call); > > That seems to open a tiny window during which we'll lose > some pid -> comm resolution records. > > We should probably keep the previous call order. >
Hm, actually the tiny window is already there in that tracing_stop_cmdline_record() is called before call->unregfunc()..
So I can send a fix-up patch later.
> Other than that: > > Acked-by: Frederic Weisbecker <fweisbec@gmail.com> >
Thanks.
| |