[dpdk-dev] [PATCH 0/3] Add RTE_ prefix to CACHE_LINE related macros

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Nov 27 14:58:05 CET 2014


> Currently DPDK sets CACHE_LINE_SIZE value to 64 by default if the macro is
> not already defined.
> 
> FreeBSD defines a CACHE_LINE_SIZE macro in the header file:
> /usr/include/machine/param.h
> 
> These macros set different values, 64 in DPDK vs 128 in FreeBSD, causing
> broken application behaviour if the system header file is included before
> rte_memory.h (where DPDK sets CACHE_LINE_SIZE).
> 
> This is the case for some examples like ip_fragmentation.
> In such application, DPDK library code would assume 64 bytes cache line size
> and the application code would assume 128 cache line size.
> Given that mbufs now take two cache lines and that the structure is being
> aligned based on this value, the result is broken application functionality.
> 
> The approach to fix this issue is to add RTE_ prefix to all CACHE_LINE_xxxx
> related macros to avoid conflicts.
> 
> Sergio Gonzalez Monroy (3):
>   Add RTE_ prefix to CACHE_LINE_SIZE macro
>   Add RTE_ prefix to CACHE_LINE_MASK macro
>   Add RTE_ prefix to CACHE_LINE_ROUNDUP macro

Updated and applied in 1 commit.

Thanks
-- 
Thomas


More information about the dev mailing list