It sounded like the arch call was leaning towards documenting that on
odp-linux  the application must ensure that odp_threads are pinned to cores
when launched.
This is a restriction that some platforms may not need to make, vs the idea
that a piece of ODP code can use these APIs to ensure the behavior it needs
without knowledge or reliance on the wider system.

On 4 May 2016 at 01:45, Yi He <[email protected]> wrote:

> Establish a performance profiling environment guarantees meaningful
> and consistency of consecutive invocations of the odp_cpu_xxx() APIs.
> While after profiling was done restore the execution environment to
> its multi-core optimized state.
>
> Signed-off-by: Yi He <[email protected]>
> ---
>  include/odp/api/spec/cpu.h | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/include/odp/api/spec/cpu.h b/include/odp/api/spec/cpu.h
> index 2789511..0bc9327 100644
> --- a/include/odp/api/spec/cpu.h
> +++ b/include/odp/api/spec/cpu.h
> @@ -27,6 +27,21 @@ extern "C" {
>
>
>  /**
> + * @typedef odp_profiler_t
> + * ODP performance profiler handle
> + */
> +
> +/**
> + * Setup a performance profiling environment
> + *
> + * A performance profiling environment guarantees meaningful and
> consistency of
> + * consecutive invocations of the odp_cpu_xxx() APIs.
> + *
> + * @return performance profiler handle
> + */
> +odp_profiler_t odp_profiler_start(void);
> +
> +/**
>   * CPU identifier
>   *
>   * Determine CPU identifier on which the calling is running. CPU
> numbering is
> @@ -170,6 +185,22 @@ uint64_t odp_cpu_cycles_resolution(void);
>  void odp_cpu_pause(void);
>
>  /**
> + * Stop the performance profiling environment
> + *
> + * Stop performance profiling and restore the execution environment to its
> + * multi-core optimized state, won't preserve meaningful and consistency
> of
> + * consecutive invocations of the odp_cpu_xxx() APIs anymore.
> + *
> + * @param profiler  performance profiler handle
> + *
> + * @retval 0 on success
> + * @retval <0 on failure
> + *
> + * @see odp_profiler_start()
> + */
> +int odp_profiler_stop(odp_profiler_t profiler);
> +
> +/**
>   * @}
>   */
>
> --
> 1.9.1
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> https://lists.linaro.org/mailman/listinfo/lng-odp
>



-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to