2021-06-02 11:57:08

by Leo Yan

[permalink] [raw]
Subject: [PATCH v2 7/8] perf auxtrace: Use WRITE_ONCE() for updating aux_tail

Use WRITE_ONCE() for updating aux_tail, so can avoid unexpected memory
behaviour.

Signed-off-by: Leo Yan <[email protected]>
---
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


2021-06-07 10:05:28

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH v2 7/8] perf auxtrace: Use WRITE_ONCE() for updating aux_tail

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 <[email protected]>

Acked-by: Adrian Hunter <[email protected]>

> ---
> 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,
>

2021-06-07 15:34:07

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH v2 7/8] perf auxtrace: Use WRITE_ONCE() for updating aux_tail

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 <[email protected]>

Acked-by: Peter Zijlstra (Intel) <[email protected]>

> ---
> 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
>

2021-06-08 17:09:23

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH v2 7/8] perf auxtrace: Use WRITE_ONCE() for updating aux_tail

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 <[email protected]>
>
> Acked-by: Peter Zijlstra (Intel) <[email protected]>

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
> >

--

- Arnaldo

2021-06-09 16:59:30

by Leo Yan

[permalink] [raw]
Subject: Re: [PATCH v2 7/8] perf auxtrace: Use WRITE_ONCE() for updating aux_tail

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 <[email protected]>
> >
> > Acked-by: Peter Zijlstra (Intel) <[email protected]>
>
> 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