[dpdk-dev] [PATCH 1/2] eal: add macro to mark variable mostly read only

Ferruh Yigit ferruh.yigit at intel.com
Wed Apr 18 19:43:11 CEST 2018


On 4/18/2018 4:30 PM, Pavan Nikhilesh wrote:
> Add macro to mark a variable to be mostly read only and place it in a
> separate section.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> ---
> 
>  Group together mostly read only data to avoid cacheline bouncing, also
>  useful for auditing purposes.
> 
>  lib/librte_eal/common/include/rte_common.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
> index 6c5bc5a76..f2ff2e9e6 100644
> --- a/lib/librte_eal/common/include/rte_common.h
> +++ b/lib/librte_eal/common/include/rte_common.h
> @@ -114,6 +114,11 @@ static void __attribute__((constructor(prio), used)) func(void)
>   */
>  #define __rte_noinline  __attribute__((noinline))
> 
> +/**
> + * Mark a variable to be mostly read only and place it in a separate section.
> + */
> +#define __rte_read_mostly __attribute__((__section__(".read_mostly")))

Hi Pavan,

Is the section ".read_mostly" treated specially [1] or is this just for grouping
symbols together (to reduce cacheline bouncing)?

[1]
If this is special section, can you please point counter part in the kernel?


> +
>  /*********** Macros for pointer arithmetic ********/
> 
>  /**
> --
> 2.17.0
> 



More information about the dev mailing list