* [PATCH V2] fix a warning on kernel/trace/trace_branch.c and trace_hw_branches.c @ 2009-10-07 8:19 Zhenwen Xu 2009-10-07 8:53 ` Li Zefan 0 siblings, 1 reply; 4+ messages in thread From: Zhenwen Xu @ 2009-10-07 8:19 UTC (permalink / raw) To: linux-kernel; +Cc: Ingo Molnar, Frederic Weisbecker, Steven Rostedt fix warnings that caused the API change of trace_buffer_lock_reserve() change files: kernel/trace/trace_hw_branch.c kernel/trace/trace_branch.c Signed-off-by: Zhenwen Xu <helight.xu@gmail.com> --- kernel/trace/trace_branch.c | 2 +- kernel/trace/trace_hw_branches.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c index 7a7a9fd..216e2dd 100644 --- a/kernel/trace/trace_branch.c +++ b/kernel/trace/trace_branch.c @@ -54,7 +54,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect) goto out; pc = preempt_count(); - event = trace_buffer_lock_reserve(tr, TRACE_BRANCH, + event = trace_buffer_lock_reserve(tr->buffer, TRACE_BRANCH, sizeof(*entry), flags, pc); if (!event) goto out; diff --git a/kernel/trace/trace_hw_branches.c b/kernel/trace/trace_hw_branches.c index 23b6385..1cc17ca 100644 --- a/kernel/trace/trace_hw_branches.c +++ b/kernel/trace/trace_hw_branches.c @@ -180,7 +180,7 @@ void trace_hw_branch(u64 from, u64 to) if (atomic_inc_return(&tr->data[cpu]->disabled) != 1) goto out; - event = trace_buffer_lock_reserve(tr, TRACE_HW_BRANCHES, + event = trace_buffer_lock_reserve(tr->buffer, TRACE_HW_BRANCHES, sizeof(*entry), 0, 0); if (!event) goto out; -- 1.6.3.3 -- -------------------------------- http://zhwen.org - Open and Free ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH V2] fix a warning on kernel/trace/trace_branch.c and trace_hw_branches.c 2009-10-07 8:19 [PATCH V2] fix a warning on kernel/trace/trace_branch.c and trace_hw_branches.c Zhenwen Xu @ 2009-10-07 8:53 ` Li Zefan 2009-10-07 11:40 ` Helight.Xu 0 siblings, 1 reply; 4+ messages in thread From: Li Zefan @ 2009-10-07 8:53 UTC (permalink / raw) To: Zhenwen Xu; +Cc: linux-kernel, Ingo Molnar, Frederic Weisbecker, Steven Rostedt Zhenwen Xu wrote: > fix warnings that caused the API change of trace_buffer_lock_reserve() > change files: kernel/trace/trace_hw_branch.c > kernel/trace/trace_branch.c > Hmm, did you really compile trace_hw_branch.c while testing this patch? This change is necessary too: - trace_buffer_unlock_commit(tr, event, 0, 0); + trace_buffer_unlock_commit(tr->buffer, event, 0, 0); And use a varaible "buffer = tr->buffer" should be better. > Signed-off-by: Zhenwen Xu <helight.xu@gmail.com> > --- > kernel/trace/trace_branch.c | 2 +- > kernel/trace/trace_hw_branches.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c > index 7a7a9fd..216e2dd 100644 > --- a/kernel/trace/trace_branch.c > +++ b/kernel/trace/trace_branch.c > @@ -54,7 +54,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect) > goto out; > > pc = preempt_count(); > - event = trace_buffer_lock_reserve(tr, TRACE_BRANCH, > + event = trace_buffer_lock_reserve(tr->buffer, TRACE_BRANCH, > sizeof(*entry), flags, pc); > if (!event) > goto out; > diff --git a/kernel/trace/trace_hw_branches.c b/kernel/trace/trace_hw_branches.c > index 23b6385..1cc17ca 100644 > --- a/kernel/trace/trace_hw_branches.c > +++ b/kernel/trace/trace_hw_branches.c > @@ -180,7 +180,7 @@ void trace_hw_branch(u64 from, u64 to) > if (atomic_inc_return(&tr->data[cpu]->disabled) != 1) > goto out; > > - event = trace_buffer_lock_reserve(tr, TRACE_HW_BRANCHES, > + event = trace_buffer_lock_reserve(tr->buffer, TRACE_HW_BRANCHES, > sizeof(*entry), 0, 0); > if (!event) > goto out; ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2] fix a warning on kernel/trace/trace_branch.c and trace_hw_branches.c 2009-10-07 8:53 ` Li Zefan @ 2009-10-07 11:40 ` Helight.Xu 2009-10-07 13:46 ` Steven Rostedt 0 siblings, 1 reply; 4+ messages in thread From: Helight.Xu @ 2009-10-07 11:40 UTC (permalink / raw) To: Li Zefan; +Cc: linux-kernel, Ingo Molnar, Frederic Weisbecker, Steven Rostedt Li Zefan wrote: > Zhenwen Xu wrote: > >> fix warnings that caused the API change of trace_buffer_lock_reserve() >> change files: kernel/trace/trace_hw_branch.c >> kernel/trace/trace_branch.c >> >> > > Hmm, did you really compile trace_hw_branch.c while testing > this patch? > > This change is necessary too: > > - trace_buffer_unlock_commit(tr, event, 0, 0); > + trace_buffer_unlock_commit(tr->buffer, event, 0, 0); > > And use a varaible "buffer = tr->buffer" should be better. > oh! sorry for my careless! > >> Signed-off-by: Zhenwen Xu <helight.xu@gmail.com> >> --- >> kernel/trace/trace_branch.c | 2 +- >> kernel/trace/trace_hw_branches.c | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c >> index 7a7a9fd..216e2dd 100644 >> --- a/kernel/trace/trace_branch.c >> +++ b/kernel/trace/trace_branch.c >> @@ -54,7 +54,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect) >> goto out; >> >> pc = preempt_count(); >> - event = trace_buffer_lock_reserve(tr, TRACE_BRANCH, >> + event = trace_buffer_lock_reserve(tr->buffer, TRACE_BRANCH, >> sizeof(*entry), flags, pc); >> if (!event) >> goto out; >> diff --git a/kernel/trace/trace_hw_branches.c b/kernel/trace/trace_hw_branches.c >> index 23b6385..1cc17ca 100644 >> --- a/kernel/trace/trace_hw_branches.c >> +++ b/kernel/trace/trace_hw_branches.c >> @@ -180,7 +180,7 @@ void trace_hw_branch(u64 from, u64 to) >> if (atomic_inc_return(&tr->data[cpu]->disabled) != 1) >> goto out; >> >> - event = trace_buffer_lock_reserve(tr, TRACE_HW_BRANCHES, >> + event = trace_buffer_lock_reserve(tr->buffer, TRACE_HW_BRANCHES, >> sizeof(*entry), 0, 0); >> if (!event) >> goto out; >> > > -- --------------------------------- Zhenwen Xu - Open and Free Home Page: http://zhwen.org ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2] fix a warning on kernel/trace/trace_branch.c and trace_hw_branches.c 2009-10-07 11:40 ` Helight.Xu @ 2009-10-07 13:46 ` Steven Rostedt 0 siblings, 0 replies; 4+ messages in thread From: Steven Rostedt @ 2009-10-07 13:46 UTC (permalink / raw) To: Helight.Xu; +Cc: Li Zefan, linux-kernel, Ingo Molnar, Frederic Weisbecker On Wed, 2009-10-07 at 19:40 +0800, Helight.Xu wrote: > Li Zefan wrote: > > Zhenwen Xu wrote: > > > >> fix warnings that caused the API change of trace_buffer_lock_reserve() > >> change files: kernel/trace/trace_hw_branch.c > >> kernel/trace/trace_branch.c > >> > >> > > > > Hmm, did you really compile trace_hw_branch.c while testing > > this patch? > > > > This change is necessary too: > > > > - trace_buffer_unlock_commit(tr, event, 0, 0); > > + trace_buffer_unlock_commit(tr->buffer, event, 0, 0); > > > > And use a varaible "buffer = tr->buffer" should be better. > > > oh! sorry for my careless! > > > >> Signed-off-by: Zhenwen Xu <helight.xu@gmail.com> > >> --- > >> kernel/trace/trace_branch.c | 2 +- > >> kernel/trace/trace_hw_branches.c | 2 +- > >> 2 files changed, 2 insertions(+), 2 deletions(-) > >> > >> diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c > >> index 7a7a9fd..216e2dd 100644 > >> --- a/kernel/trace/trace_branch.c > >> +++ b/kernel/trace/trace_branch.c > >> @@ -54,7 +54,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect) > >> goto out; > >> > >> pc = preempt_count(); > >> - event = trace_buffer_lock_reserve(tr, TRACE_BRANCH, > >> + event = trace_buffer_lock_reserve(tr->buffer, TRACE_BRANCH, > >> sizeof(*entry), flags, pc); Also, You should not pass in the buffer directly. This is because the tr->buffer can change, and if it changes between the reserve and commit, then you can corrupt the ring buffer. What you want to do is: struct ring_buffer *buffer = tr->buffer; event = trace_buffer_lock_reserve(buffer, TRACE_BRANCH ...) [...] ring_buffer_unlock_commit(buffer, ...) -- Steve > >> if (!event) > >> goto out; > >> diff --git a/kernel/trace/trace_hw_branches.c b/kernel/trace/trace_hw_branches.c > >> index 23b6385..1cc17ca 100644 > >> --- a/kernel/trace/trace_hw_branches.c > >> +++ b/kernel/trace/trace_hw_branches.c > >> @@ -180,7 +180,7 @@ void trace_hw_branch(u64 from, u64 to) > >> if (atomic_inc_return(&tr->data[cpu]->disabled) != 1) > >> goto out; > >> > >> - event = trace_buffer_lock_reserve(tr, TRACE_HW_BRANCHES, > >> + event = trace_buffer_lock_reserve(tr->buffer, TRACE_HW_BRANCHES, > >> sizeof(*entry), 0, 0); > >> if (!event) > >> goto out; > >> > > > > > > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-10-07 13:48 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-10-07 8:19 [PATCH V2] fix a warning on kernel/trace/trace_branch.c and trace_hw_branches.c Zhenwen Xu 2009-10-07 8:53 ` Li Zefan 2009-10-07 11:40 ` Helight.Xu 2009-10-07 13:46 ` Steven Rostedt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox