Messages in this thread | | | Date | Sun, 06 Sep 2015 10:29:43 -0400 | From | Sasha Levin <> | Subject | Re: [PATCH] ftrace: allow dumping traces without tracking trace started cpus |
| |
On 09/06/2015 05:20 AM, Minfei Huang wrote: > On 09/04/15 at 12:45pm, Sasha Levin wrote: >> > We don't init iter->started when dumping the ftrace buffer, and there's no >> > real need to do so - so allow skipping that check if the iter doesn't have >> > an initialized ->started cpumask. >> > >> > Signed-off-by: Sasha Levin <sasha.levin@oracle.com> >> > --- >> > kernel/trace/trace.c | 5 +++-- >> > 1 file changed, 3 insertions(+), 2 deletions(-) >> > >> > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c >> > index 6e79408..0dc647f 100644 >> > --- a/kernel/trace/trace.c >> > +++ b/kernel/trace/trace.c >> > @@ -2671,13 +2671,14 @@ static void test_cpu_buff_start(struct trace_iterator *iter) >> > if (!(iter->iter_flags & TRACE_FILE_ANNOTATE)) >> > return; >> > >> > - if (cpumask_test_cpu(iter->cpu, iter->started)) >> > + if (iter->started && cpumask_test_cpu(iter->cpu, iter->started)) >> > return; > Ftrace will initialize the variable iter->started in the function > trace_init_global_iter. Otherwise kernel will panic during calling the > function cpumask_test_cpu. > > So it is safe to call the function cpumask_test_cpu without doing > checking.
Can you point me to exactly where trace_init_global_iter() initializes iter->started?
Thanks, Sasha
| |