diff mbox series

perf cs-etm: Bump minimum OpenCSD version to ensure a bugfix is present

Message ID 20230901133716.677499-1-james.clark@arm.com (mailing list archive)
State New, archived
Headers show
Series perf cs-etm: Bump minimum OpenCSD version to ensure a bugfix is present | expand

Commit Message

James Clark Sept. 1, 2023, 1:37 p.m. UTC
Since commit d927ef5004ef ("perf cs-etm: Add exception level consistency
check"), the exception that was added to Perf will be triggered unless
the following bugfix from OpenCSD is present:

 - _Version 1.2.1_:
  - __Bugfix__:
    ETM4x / ETE - output of context elements to client can in some
    circumstances be delayed until after subsequent atoms have been
    processed leading to incorrect memory decode access via the client
    callbacks. Fixed to flush context elements immediately they are
    committed.

Rather than remove the assert and silently fail, just increase the
minimum version requirement to avoid hard to debug issues and
regressions.

Signed-off-by: James Clark <james.clark@arm.com>
---
 tools/build/feature/test-libopencsd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Ian Rogers Sept. 4, 2023, 3:36 a.m. UTC | #1
On Fri, Sep 1, 2023 at 6:37 AM James Clark <james.clark@arm.com> wrote:
>
> Since commit d927ef5004ef ("perf cs-etm: Add exception level consistency
> check"), the exception that was added to Perf will be triggered unless
> the following bugfix from OpenCSD is present:
>
>  - _Version 1.2.1_:
>   - __Bugfix__:
>     ETM4x / ETE - output of context elements to client can in some
>     circumstances be delayed until after subsequent atoms have been
>     processed leading to incorrect memory decode access via the client
>     callbacks. Fixed to flush context elements immediately they are
>     committed.
>
> Rather than remove the assert and silently fail, just increase the
> minimum version requirement to avoid hard to debug issues and
> regressions.
>
> Signed-off-by: James Clark <james.clark@arm.com>

Reviewed-by: Ian Rogers <irogers@google.com>

Thanks,
Ian

> ---
>  tools/build/feature/test-libopencsd.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/build/feature/test-libopencsd.c b/tools/build/feature/test-libopencsd.c
> index eb6303ff446e..4cfcef9da3e4 100644
> --- a/tools/build/feature/test-libopencsd.c
> +++ b/tools/build/feature/test-libopencsd.c
> @@ -4,9 +4,9 @@
>  /*
>   * Check OpenCSD library version is sufficient to provide required features
>   */
> -#define OCSD_MIN_VER ((1 << 16) | (1 << 8) | (1))
> +#define OCSD_MIN_VER ((1 << 16) | (2 << 8) | (1))
>  #if !defined(OCSD_VER_NUM) || (OCSD_VER_NUM < OCSD_MIN_VER)
> -#error "OpenCSD >= 1.1.1 is required"
> +#error "OpenCSD >= 1.2.1 is required"
>  #endif
>
>  int main(void)
> --
> 2.34.1
>
Leo Yan Sept. 10, 2023, 9:22 a.m. UTC | #2
On Fri, Sep 01, 2023 at 02:37:15PM +0100, James Clark wrote:
> Since commit d927ef5004ef ("perf cs-etm: Add exception level consistency
> check"), the exception that was added to Perf will be triggered unless
> the following bugfix from OpenCSD is present:
> 
>  - _Version 1.2.1_:
>   - __Bugfix__:
>     ETM4x / ETE - output of context elements to client can in some
>     circumstances be delayed until after subsequent atoms have been
>     processed leading to incorrect memory decode access via the client
>     callbacks. Fixed to flush context elements immediately they are
>     committed.
> 
> Rather than remove the assert and silently fail, just increase the
> minimum version requirement to avoid hard to debug issues and
> regressions.
> 
> Signed-off-by: James Clark <james.clark@arm.com>

Tested-by: Leo Yan <leo.yan@linaro.org>
Arnaldo Carvalho de Melo Nov. 23, 2023, 2:31 p.m. UTC | #3
Em Sun, Sep 03, 2023 at 08:36:35PM -0700, Ian Rogers escreveu:
> On Fri, Sep 1, 2023 at 6:37 AM James Clark <james.clark@arm.com> wrote:
> >
> > Since commit d927ef5004ef ("perf cs-etm: Add exception level consistency
> > check"), the exception that was added to Perf will be triggered unless
> > the following bugfix from OpenCSD is present:
> >
> >  - _Version 1.2.1_:
> >   - __Bugfix__:
> >     ETM4x / ETE - output of context elements to client can in some
> >     circumstances be delayed until after subsequent atoms have been
> >     processed leading to incorrect memory decode access via the client
> >     callbacks. Fixed to flush context elements immediately they are
> >     committed.
> >
> > Rather than remove the assert and silently fail, just increase the
> > minimum version requirement to avoid hard to debug issues and
> > regressions.
> >
> > Signed-off-by: James Clark <james.clark@arm.com>
> 
> Reviewed-by: Ian Rogers <irogers@google.com>

Thanks, applied to perf-tools-next.

- Arnaldo
diff mbox series

Patch

diff --git a/tools/build/feature/test-libopencsd.c b/tools/build/feature/test-libopencsd.c
index eb6303ff446e..4cfcef9da3e4 100644
--- a/tools/build/feature/test-libopencsd.c
+++ b/tools/build/feature/test-libopencsd.c
@@ -4,9 +4,9 @@ 
 /*
  * Check OpenCSD library version is sufficient to provide required features
  */
-#define OCSD_MIN_VER ((1 << 16) | (1 << 8) | (1))
+#define OCSD_MIN_VER ((1 << 16) | (2 << 8) | (1))
 #if !defined(OCSD_VER_NUM) || (OCSD_VER_NUM < OCSD_MIN_VER)
-#error "OpenCSD >= 1.1.1 is required"
+#error "OpenCSD >= 1.2.1 is required"
 #endif
 
 int main(void)