[PATCH 1/6] eal: add static per-lcore memory allocation facility
Mattias Rönnblom
hofors at lysator.liu.se
Wed Sep 11 17:05:29 CEST 2024
On 2024-09-11 12:32, Morten Brørup wrote:
>> +static void *lcore_buffer;
> [...]
>> + lcore_buffer = aligned_alloc(RTE_CACHE_LINE_SIZE,
>> + LCORE_BUFFER_SIZE);
>
> Since lcore_buffer is never freed again, it is easy to support Windows:
>
> #ifdef RTE_EXEC_ENV_WINDOWS
> #include <malloc.h>
> #endif
>
> #ifndef RTE_EXEC_ENV_WINDOWS
> lcore_buffer = aligned_alloc(RTE_CACHE_LINE_SIZE,
> LCORE_BUFFER_SIZE);
> #else
> /* Never freed again, so don't worry about _aligned_free(). */
What is the reason for this comment? It seems like it addresses the
Windows code path in particular.
> lcore_buffer = _aligned_malloc(LCORE_BUFFER_SIZE,
> RTE_CACHE_LINE_SIZE);
> #endif
>
> Ref:
> https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/aligned-malloc?view=msvc-170
>
> NB: Note the opposite parameter order.
>
Thanks. I will add something like this.
More information about the dev
mailing list