Also... Can we do the same with the other symbols: for instance odp_cpu_pause() as _odp_cpu_pause() in /arch/XXX, and the definition of odp_cpu_pause as inline _odp_cpu_pause in Include? same question for other (odp_cpu_cycles, odp_cpu_cycles_max, odp_cpu_cycles_resolution), where default stubs could be defined when appropriate
The idea being to remove all definition of API symbols from this internal arch directory. Could come as other patch, I guess, but the question remains... Christophe. On 21 July 2016 at 18:26, Christophe Milard <christophe.mil...@linaro.org> wrote: > Hi, > > Got: > Using patch: 0001-linux-generic-fixup-cache-line-size-API.patch > Trying to apply patch > Patch applied > WARNING: Possible unwrapped commit description (prefer a maximum 75 > chars per line) > > Also see my question inline below... > > > On 19 July 2016 at 12:18, Brian Brooks <brian.bro...@linaro.org> wrote: >> Define the ODP API for cache line size to the cache line size defined in the >> (internal) architecture specific directories. Prefix internal cache line size >> identifier with '_' since it leaks into the ODP API header files by >> inclusion. >> >> Signed-off-by: Brian Brooks <brian.bro...@linaro.org> >> --- >> platform/linux-generic/arch/default/odp/api/cpu_arch.h | 10 +--------- >> platform/linux-generic/arch/mips64/odp/api/cpu_arch.h | 14 ++++---------- >> platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h | 10 +--------- >> platform/linux-generic/arch/x86/odp/api/cpu_arch.h | 10 +--------- >> platform/linux-generic/include/odp/api/align.h | 8 ++------ >> 5 files changed, 9 insertions(+), 43 deletions(-) >> >> diff --git a/platform/linux-generic/arch/default/odp/api/cpu_arch.h >> b/platform/linux-generic/arch/default/odp/api/cpu_arch.h >> index 29f8889..22b1da2 100644 >> --- a/platform/linux-generic/arch/default/odp/api/cpu_arch.h >> +++ b/platform/linux-generic/arch/default/odp/api/cpu_arch.h >> @@ -11,15 +11,7 @@ >> extern "C" { >> #endif >> >> -/** @ingroup odp_compiler_optim >> - * @{ >> - */ >> - >> -#define ODP_CACHE_LINE_SIZE 64 >> - >> -/** >> - * @} >> - */ >> +#define _ODP_CACHE_LINE_SIZE 64 >> >> static inline void odp_cpu_pause(void) >> { >> diff --git a/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h >> b/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h >> index 7b5bfd2..1f49cd2 100644 >> --- a/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h >> +++ b/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h >> @@ -11,18 +11,12 @@ >> extern "C" { >> #endif >> >> -/** @ingroup odp_compiler_optim >> - * @{ >> - */ >> - >> -#if defined __OCTEON__ >> -#define ODP_CACHE_LINE_SIZE 128 >> +#if defined(__OCTEON__) > > Any reason I don't know for these parentheses? I am not aware of them > doing any difference and it does not seem we use to have then in the > rest of the code. > > Christophe. > >> +#define _ODP_CACHE_LINE_SIZE 128 >> +#else >> +#error Please add support for your arch in cpu_arch.h >> #endif >> >> -/** >> - * @} >> - */ >> - >> static inline void odp_cpu_pause(void) >> { >> __asm__ __volatile__ ("nop"); >> diff --git a/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h >> b/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h >> index 29f8889..22b1da2 100644 >> --- a/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h >> +++ b/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h >> @@ -11,15 +11,7 @@ >> extern "C" { >> #endif >> >> -/** @ingroup odp_compiler_optim >> - * @{ >> - */ >> - >> -#define ODP_CACHE_LINE_SIZE 64 >> - >> -/** >> - * @} >> - */ >> +#define _ODP_CACHE_LINE_SIZE 64 >> >> static inline void odp_cpu_pause(void) >> { >> diff --git a/platform/linux-generic/arch/x86/odp/api/cpu_arch.h >> b/platform/linux-generic/arch/x86/odp/api/cpu_arch.h >> index 3a16fa6..44e6b30 100644 >> --- a/platform/linux-generic/arch/x86/odp/api/cpu_arch.h >> +++ b/platform/linux-generic/arch/x86/odp/api/cpu_arch.h >> @@ -11,15 +11,7 @@ >> extern "C" { >> #endif >> >> -/** @ingroup odp_compiler_optim >> - * @{ >> - */ >> - >> -#define ODP_CACHE_LINE_SIZE 64 >> - >> -/** >> - * @} >> - */ >> +#define _ODP_CACHE_LINE_SIZE 64 >> >> static inline void odp_cpu_pause(void) >> { >> diff --git a/platform/linux-generic/include/odp/api/align.h >> b/platform/linux-generic/include/odp/api/align.h >> index d8bc653..c36b17b 100644 >> --- a/platform/linux-generic/include/odp/api/align.h >> +++ b/platform/linux-generic/include/odp/api/align.h >> @@ -31,16 +31,12 @@ extern "C" { >> >> #define ODP_FIELD_SIZEOF(type, member) sizeof(((type *)0)->member) >> >> -#if defined __arm__ || defined __aarch64__ >> - >> -#define ODP_CACHE_LINE_SIZE 64 >> - >> -#endif >> - >> #else >> #error Non-gcc compatible compiler >> #endif >> >> +#define ODP_CACHE_LINE_SIZE _ODP_CACHE_LINE_SIZE >> + >> #define ODP_PAGE_SIZE 4096 >> >> #define ODP_ALIGNED_CACHE ODP_ALIGNED(ODP_CACHE_LINE_SIZE) >> -- >> 2.9.0 >>