|
Revision tags: v24.07-rc2, v24.07-rc1 |
|
| #
e12a0166 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microso
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
|
Revision tags: v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1, v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2, v23.11-rc1, v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1, v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2 |
|
| #
f9eb7a4b |
| 02-Mar-2023 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
use atomic intrinsics closer to C11
Use __atomic_fetch_{add,and,or,sub,xor} instead of __atomic_{add,and,or,sub,xor}_fetch when we have no interest in the result of the operation.
This change reduc
use atomic intrinsics closer to C11
Use __atomic_fetch_{add,and,or,sub,xor} instead of __atomic_{add,and,or,sub,xor}_fetch when we have no interest in the result of the operation.
This change reduces unnecessary code that provided the result of the atomic operation while this result was not used.
It also brings us to a closer alignment with atomics available in C11 standard and will reduce review effort when they are integrated.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
|
Revision tags: v23.03-rc1, v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2, v22.11-rc1, v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1, v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1 |
|
| #
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2 |
|
| #
25245d5d |
| 04-May-2021 |
Shiri Kuzin <shirik@nvidia.com> |
common/mlx5: share hash list tool
In order to use the hash list defined in net in other drivers, the hash list is moved to common utilities.
In addition, the log definition was moved from the commo
common/mlx5: share hash list tool
In order to use the hash list defined in net in other drivers, the hash list is moved to common utilities.
In addition, the log definition was moved from the common utilities to a dedicated new log file in common in order to prevent a conflict.
Signed-off-by: Shiri Kuzin <shirik@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
|
Revision tags: v21.05-rc1, v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2, v21.02-rc1 |
|
| #
7e7af4e9 |
| 28-Dec-2020 |
Ophir Munk <ophirmu@nvidia.com> |
common/mlx5: wrap memory allocation on Linux
mlx5_malloc() API has an alignment parameter for system memory allocations. malloc() is called for non-aligned allocations and posix_memalign() is called
common/mlx5: wrap memory allocation on Linux
mlx5_malloc() API has an alignment parameter for system memory allocations. malloc() is called for non-aligned allocations and posix_memalign() is called for aligned allocations. When calling mlx5_free() there is no distinction whether the memory was originally allocated with or without alignment. Freeing a memory may be handled differently by operating systems. Therefore this commit wraps these APIs with OS specific calls: mlx5_os_malloc(), mlx5_os_free().
Signed-off-by: Ophir Munk <ophirmu@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
|
Revision tags: v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2 |
|
| #
6e0cd74a |
| 27-Oct-2020 |
Bing Zhao <bingz@nvidia.com> |
common/mlx5: add glue function for domain sync
In rdma-core, the "mlx5dv_dr_domain_sync" function was already provided. It is used to flush the rule submission queue. The wrapper function in the glu
common/mlx5: add glue function for domain sync
In rdma-core, the "mlx5dv_dr_domain_sync" function was already provided. It is used to flush the rule submission queue. The wrapper function in the glue layer is added for using this. It only supports DR flows right now the same as domain creating and destroying functions.
Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
| #
e4a4d90c |
| 27-Oct-2020 |
Alexander Kozyrev <akozyrev@nvidia.com> |
common/mlx5: use C11 atomics for memory allocation
The rte_atomic API is deprecated and needs to be replaced with C11 atomic builtins. Use the relaxed ordering for mlx5 mallocs.
Signed-off-by: Alex
common/mlx5: use C11 atomics for memory allocation
The rte_atomic API is deprecated and needs to be replaced with C11 atomic builtins. Use the relaxed ordering for mlx5 mallocs.
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
|
Revision tags: v20.11-rc1 |
|
| #
af863644 |
| 09-Sep-2020 |
Ophir Munk <ophirmu@nvidia.com> |
common/mlx5: fix aligned malloc
Before this commit system call memalign was used for aligned allocations, however memalign is deprecated.
Based on (1) - POSIX requires that memory aligned allocatio
common/mlx5: fix aligned malloc
Before this commit system call memalign was used for aligned allocations, however memalign is deprecated.
Based on (1) - POSIX requires that memory aligned allocations can be freed using free. Some systems provide no way to reclaim memory allocated with memalign (because one can only pass to free a pointer gotten from malloc, while, memalign would call malloc and then align the obtained value). Another issue is that 64/32 bits architectures use a minimal alignment size. So any requested alignment below the minimal system size can be simplified by calling malloc.
The glibc implementation allows memory obtained from posix_memalign to be reclaimed with free. This commit replaces system call memalign with system call posix_memalign. It also calls malloc in case the requested alignment is below the minimal system size.
(1) https://linux.die.net/man/3/memalign
Fixes: d38e3d526657 ("common/mlx5: add memory management functions") Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@nvidia.com> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1 |
|
| #
d38e3d52 |
| 28-Jun-2020 |
Suanming Mou <suanmingm@mellanox.com> |
common/mlx5: add memory management functions
Add the internal mlx5 memory management functions:
mlx5_malloc_mem_select(); mlx5_memory_stat_dump(); mlx5_rellaocate(); mlx5_malloc(); mlx5_free();
Us
common/mlx5: add memory management functions
Add the internal mlx5 memory management functions:
mlx5_malloc_mem_select(); mlx5_memory_stat_dump(); mlx5_rellaocate(); mlx5_malloc(); mlx5_free();
User will be allowed to manage memory from system or from rte memory with the unified functions.
In this case, for the system with limited memory which can not reserve lots of rte hugepage memory in advanced, will allocate the memory from system for some of not so important control path objects based on the sys_mem_en configuration.
Signed-off-by: Suanming Mou <suanmingm@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|