#
62ea63a6 |
| 18-Jun-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
mem: remove type argument from internal routines
The type argument is carried through malloc heap routines but never used there. It is only used in rte_malloc for tracing.
Signed-off-by: Stephen He
mem: remove type argument from internal routines
The type argument is carried through malloc heap routines but never used there. It is only used in rte_malloc for tracing.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
c6552d9a |
| 04-Mar-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
lib: move alignment attribute on types for MSVC
The current location used for __rte_aligned(a) for alignment of types is not compatible with MSVC. There is only a single location accepted by both to
lib: move alignment attribute on types for MSVC
The current location used for __rte_aligned(a) for alignment of types is not compatible with MSVC. There is only a single location accepted by both toolchains.
The standard offers no alignment facility that compatibly interoperates with C and C++ but it may be achieved by relocating the placement of __rte_aligned(a) to the aforementioned location accepted by all currently supported toolchains.
To allow alignment for both compilers, do the following:
* Expand __rte_aligned(a) to __declspec(align(a)) when building with MSVC.
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag.
The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers building both C and C++.
Note: this move has an additional benefit as Doxygen is not confused anymore like for the rte_event_vector struct definition.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
2e2f0272 |
| 04-Apr-2023 |
David Marchand <david.marchand@redhat.com> |
mem: rework malloc heap init
rte_eal_memory_init() and rte_eal_malloc_heap_init() must be called in a common section taking rte_mcfg_mem_read_lock(). Split rte_eal_malloc_heap_init() in two so that
mem: rework malloc heap init
rte_eal_memory_init() and rte_eal_malloc_heap_init() must be called in a common section taking rte_mcfg_mem_read_lock(). Split rte_eal_malloc_heap_init() in two so that the mem lock is taken in rte_eal_init() making lock checks trivial (once annotated in the next patch).
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
a0cc7be2 |
| 13-Nov-2021 |
Stephen Hemminger <stephen@networkplumber.org> |
mem: cleanup multiprocess resources
The mp action resources in malloc should be cleaned up via rte_eal_cleanup.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Anatoly Burak
mem: cleanup multiprocess resources
The mp action resources in malloc should be cleaned up via rte_eal_cleanup.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
770d41bf |
| 29-Oct-2021 |
Ilyes Ben Hamouda <ilyes.ben_hamouda@6wind.com> |
malloc: fix allocation with unknown socket ID
When using rte_malloc() from a thread which is not bound to a numa socket (the typical case is a control thread, but it can also happen on a dataplane t
malloc: fix allocation with unknown socket ID
When using rte_malloc() from a thread which is not bound to a numa socket (the typical case is a control thread, but it can also happen on a dataplane thread if its cpu affinity is on cores attached to several sockets), the used heap is the one from numa socket 0, which may not have available memory.
Fix this by selecting the first socket which has available memory.
Note: malloc_get_numa_socket() is only used from one .c file, so move it there, and remove the inline keyword.
Fixes: b94580d6887e ("malloc: avoid unknown socket id") Cc: stable@dpdk.org
Signed-off-by: Ilyes Ben Hamouda <ilyes.ben_hamouda@6wind.com> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
7a335720 |
| 15-Sep-2021 |
Thomas Monjalon <thomas@monjalon.net> |
lib: remove C++ include guard from private headers
The private headers are compiled internally with a C compiler. Thus extern "C" declaration is useless in such files.
Signed-off-by: Thomas Monjalo
lib: remove C++ include guard from private headers
The private headers are compiled internally with a C compiler. Thus extern "C" declaration is useless in such files.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
99a2dd95 |
| 20-Apr-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also m
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal'
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|