Message ID | 20210602103007.184993-8-leo.yan@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf: Refine barriers for AUX ring buffer | expand |
On 2/06/21 1:30 pm, Leo Yan wrote: > Use WRITE_ONCE() for updating aux_tail, so can avoid unexpected memory > behaviour. > > Signed-off-by: Leo Yan <leo.yan@linaro.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> > --- > tools/perf/util/auxtrace.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h > index e625bc76cdde..abc4282f5272 100644 > --- a/tools/perf/util/auxtrace.h > +++ b/tools/perf/util/auxtrace.h > @@ -458,7 +458,7 @@ static inline void auxtrace_mmap__write_tail(struct auxtrace_mmap *mm, u64 tail) > > /* Ensure all reads are done before we write the tail out */ > smp_mb(); > - pc->aux_tail = tail; > + WRITE_ONCE(pc->aux_tail, tail); > } > > int auxtrace_mmap__mmap(struct auxtrace_mmap *mm, >
On Wed, Jun 02, 2021 at 06:30:06PM +0800, Leo Yan wrote: > Use WRITE_ONCE() for updating aux_tail, so can avoid unexpected memory > behaviour. > > Signed-off-by: Leo Yan <leo.yan@linaro.org> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> > --- > tools/perf/util/auxtrace.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h > index e625bc76cdde..abc4282f5272 100644 > --- a/tools/perf/util/auxtrace.h > +++ b/tools/perf/util/auxtrace.h > @@ -458,7 +458,7 @@ static inline void auxtrace_mmap__write_tail(struct auxtrace_mmap *mm, u64 tail) > > /* Ensure all reads are done before we write the tail out */ > smp_mb(); > - pc->aux_tail = tail; > + WRITE_ONCE(pc->aux_tail, tail); > } > > int auxtrace_mmap__mmap(struct auxtrace_mmap *mm, > -- > 2.25.1 >
Em Mon, Jun 07, 2021 at 05:31:01PM +0200, Peter Zijlstra escreveu: > On Wed, Jun 02, 2021 at 06:30:06PM +0800, Leo Yan wrote: > > Use WRITE_ONCE() for updating aux_tail, so can avoid unexpected memory > > behaviour. > > > > Signed-off-by: Leo Yan <leo.yan@linaro.org> > > Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Leo, this one is dependendant on the 6/8, will wait for a resubmission, keeping 5/8 tho, as was Acked and applies cleanly, perf/core. > > --- > > tools/perf/util/auxtrace.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h > > index e625bc76cdde..abc4282f5272 100644 > > --- a/tools/perf/util/auxtrace.h > > +++ b/tools/perf/util/auxtrace.h > > @@ -458,7 +458,7 @@ static inline void auxtrace_mmap__write_tail(struct auxtrace_mmap *mm, u64 tail) > > > > /* Ensure all reads are done before we write the tail out */ > > smp_mb(); > > - pc->aux_tail = tail; > > + WRITE_ONCE(pc->aux_tail, tail); > > } > > > > int auxtrace_mmap__mmap(struct auxtrace_mmap *mm, > > -- > > 2.25.1 > >
Hi Arnaldo, On Tue, Jun 08, 2021 at 02:04:30PM -0300, Arnaldo Carvalho de Melo wrote: > Em Mon, Jun 07, 2021 at 05:31:01PM +0200, Peter Zijlstra escreveu: > > On Wed, Jun 02, 2021 at 06:30:06PM +0800, Leo Yan wrote: > > > Use WRITE_ONCE() for updating aux_tail, so can avoid unexpected memory > > > behaviour. > > > > > > Signed-off-by: Leo Yan <leo.yan@linaro.org> > > > > Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> > > Leo, this one is dependendant on the 6/8, will wait for a resubmission, > keeping 5/8 tho, as was Acked and applies cleanly, perf/core. Yeah, will respin for patches 6/8 and 7/8. Thanks for merging patch 5/8. Leo
diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h index e625bc76cdde..abc4282f5272 100644 --- a/tools/perf/util/auxtrace.h +++ b/tools/perf/util/auxtrace.h @@ -458,7 +458,7 @@ static inline void auxtrace_mmap__write_tail(struct auxtrace_mmap *mm, u64 tail) /* Ensure all reads are done before we write the tail out */ smp_mb(); - pc->aux_tail = tail; + WRITE_ONCE(pc->aux_tail, tail); } int auxtrace_mmap__mmap(struct auxtrace_mmap *mm,
Use WRITE_ONCE() for updating aux_tail, so can avoid unexpected memory behaviour. Signed-off-by: Leo Yan <leo.yan@linaro.org> --- tools/perf/util/auxtrace.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)