#
2b843cac |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fen
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
7bc56bd0 |
| 09-Mar-2021 |
Thomas Monjalon <thomas@monjalon.net> |
net/mlx4: enable debug logs dynamically
The macro DEBUG was doing nothing if not compiled with RTE_LIBRTE_MLX4_DEBUG.
As it is not used in the data path, it can be always enabled at compilation tim
net/mlx4: enable debug logs dynamically
The macro DEBUG was doing nothing if not compiled with RTE_LIBRTE_MLX4_DEBUG.
As it is not used in the data path, it can be always enabled at compilation time. Then it can be enabled at runtime with: --log-level pmd.net.mlx4:debug
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
#
8e08df22 |
| 30-Jan-2020 |
Alexander Kozyrev <akozyrev@mellanox.com> |
net/mlx4: improve assert control
Use the MLX4_ASSERT macros instead of the standard assert clause. Depends on the RTE_LIBRTE_MLX4_DEBUG configuration option to define it. If RTE_LIBRTE_MLX4_DEBUG is
net/mlx4: improve assert control
Use the MLX4_ASSERT macros instead of the standard assert clause. Depends on the RTE_LIBRTE_MLX4_DEBUG configuration option to define it. If RTE_LIBRTE_MLX4_DEBUG is enabled MLX4_ASSERT is equal to RTE_VERIFY to bypass the global CONFIG_RTE_ENABLE_ASSERT option. If RTE_LIBRTE_MLX4_DEBUG is disabled, the global CONFIG_RTE_ENABLE_ASSERT can still make this assert active by calling RTE_VERIFY inside RTE_ASSERT.
Signed-off-by: Alexander Kozyrev <akozyrev@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
show more ...
|
#
e99fdaa7 |
| 30-Jan-2020 |
Alexander Kozyrev <akozyrev@mellanox.com> |
net/mlx4: remove NDEBUG flag
Use the RTE_LIBRTE_MLX4_DEBUG compilation flag to get rid of dependency on the NDEBUG definition. This is a preparation step to switch from standard assert clauses to DP
net/mlx4: remove NDEBUG flag
Use the RTE_LIBRTE_MLX4_DEBUG compilation flag to get rid of dependency on the NDEBUG definition. This is a preparation step to switch from standard assert clauses to DPDK RTE_ASSERT ones in MLX4 driver.
Signed-off-by: Alexander Kozyrev <akozyrev@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
show more ...
|
#
c3e89f69 |
| 11-Dec-2019 |
Ali Alnubani <alialnu@mellanox.com> |
net/mlx: fix build with clang 9
This rewrites the MKSTR macro appending an empty string to its arguments to resolve build failures similar to:
drivers/net/mlx4/mlx4.c:461:14: fatal error: format
net/mlx: fix build with clang 9
This rewrites the MKSTR macro appending an empty string to its arguments to resolve build failures similar to:
drivers/net/mlx4/mlx4.c:461:14: fatal error: format string is not a string literal [-Wformat-nonliteral] MKSTR(path, "%s/device/uevent", device->ibdev_path);
drivers/net/mlx4/mlx4_utils.h:82:30: note: expanded from macro 'MKSTR' char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \
drivers/net/mlx5/mlx5_stats.c:144:15: fatal error: format string is not a string literal [-Wformat-nonliteral] MKSTR(path, "%s/ports/%d/hw_counters/%s",
drivers/net/mlx5/mlx5_utils.h:149:30: note: expanded from macro 'MKSTR' char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \
The errors reproduce with clang version 9.0.0, and the release notes don't mention what could have caused them.
Fixes: 7fae69eeff13 ("mlx4: new poll mode driver") Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters") Cc: stable@dpdk.org
Signed-off-by: Ali Alnubani <alialnu@mellanox.com> Signed-off-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
ceadf1a4 |
| 13-Aug-2019 |
Christian Ehrhardt <christian.ehrhardt@canonical.com> |
net/mlx4: fix build on ppc64
The AltiVec header file breaks boolean type:
error: incompatible types when initializing type '__vector _bool int' {aka '_vector(4) __bool int'} using type 'int'
If __
net/mlx4: fix build on ppc64
The AltiVec header file breaks boolean type:
error: incompatible types when initializing type '__vector _bool int' {aka '_vector(4) __bool int'} using type 'int'
If __APPLE_ALTIVEC__ is defined, then bool type is redefined and conflicts with stdbool.h.
There is no good solution to fix it for the whole project without breaking something else, so a workaround is inserted in mlx5 PMD. This workaround is not compatible with C++ but there is no C++ in DPDK.
Related to: 725f5dd0bfb5 ("net/mlx5: fix build on PPC64") Cc: stable@dpdk.org
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> Tested-by: David Christensen <drc@linux.vnet.ibm.com> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
11a34bf2 |
| 24-May-2019 |
Stephen Hemminger <sthemmin@microsoft.com> |
net/mlx4: use dynamic log type
This driver should use dynamic log level not RTE_LOGTYPE_PMD. Other drivers were converted back in 18.02.
This is really a bug, all other drivers use dynamic log leve
net/mlx4: use dynamic log type
This driver should use dynamic log level not RTE_LOGTYPE_PMD. Other drivers were converted back in 18.02.
This is really a bug, all other drivers use dynamic log levels by now.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
5feecc57 |
| 20-Mar-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
align SPDX Mellanox copyrights
Aligning Mellanox SPDX copyrights to a single format. In addition replace to SPDX licence files which were missed.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
align SPDX Mellanox copyrights
Aligning Mellanox SPDX copyrights to a single format. In addition replace to SPDX licence files which were missed.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
82092c87 |
| 29-Jan-2018 |
Olivier Matz <olivier.matz@6wind.com> |
net/mlx4: use SPDX tags in 6WIND copyrighted files
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monj
net/mlx4: use SPDX tags in 6WIND copyrighted files
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
c2b3dba8 |
| 29-Nov-2017 |
Matan Azrad <matan@mellanox.com> |
net/mlx4: revert workaround for broken Verbs
This workaround was needed to properly handle device removal with old Mellanox OFED releases that are not supported by this PMD anymore.
Starting from r
net/mlx4: revert workaround for broken Verbs
This workaround was needed to properly handle device removal with old Mellanox OFED releases that are not supported by this PMD anymore.
Starting from rdma-core v16 this removal issue shouldn't happen when setting MLX4_DEVICE_FATAL_CLEANUP environment variable to 1.
Set the aforementioned variable to 1.
Reverts: 5f4677c6ad5e ("net/mlx4: workaround verbs error after plug-out") Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
9e0207bf |
| 02-Nov-2017 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx4: fix missing include
Fixes: 76df01ff622f ("net/mlx4: separate debugging macros")
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
|
#
f1c9ac9f |
| 12-Oct-2017 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx4: add iovec-like allocation wrappers
These wrappers implement the ability to allocate room for several disparate objects as a single contiguous allocation while complying with their respecti
net/mlx4: add iovec-like allocation wrappers
These wrappers implement the ability to allocate room for several disparate objects as a single contiguous allocation while complying with their respective alignment constraints.
This is usually more efficient than allocating and freeing them individually if they are not expected to be reallocated with rte_realloc().
A typical use case is when several objects that cannot be dissociated must be allocated together, as shown in the following example:
struct b { ... struct d *d; }
struct a { ... struct b *b; struct c *c; }
struct mlx4_malloc_vec vec[] = { { .size = sizeof(struct a), .addr = &ptr_a, }, { .size = sizeof(struct b), .addr = &ptr_b, }, { .size = sizeof(struct c), .addr = &ptr_c, }, { .size = sizeof(struct d), .addr = &ptr_d, }, };
if (!mlx4_mallocv(NULL, vec, RTE_DIM(vec))) goto error;
struct a *a = ptr_a;
a->b = ptr_b; a->c = ptr_c; a->b->d = ptr_d; ... rte_free(a);
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
a5171594 |
| 12-Oct-2017 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx4: expose support for flow rule priorities
This PMD supports up to 4096 flow rule priority levels (0 to 4095).
Applications were not allowed to use them until now due to overlaps with the de
net/mlx4: expose support for flow rule priorities
This PMD supports up to 4096 flow rule priority levels (0 to 4095).
Applications were not allowed to use them until now due to overlaps with the default flows (e.g. MAC address, promiscuous mode).
This is not an issue in isolated mode when such flows do not exist.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
ed0cc677 |
| 12-Oct-2017 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx4: enhance header files comments
Add missing comments and fix those not Doxygen-friendly.
Since the private structure definition is modified, use this opportunity to add one remaining missin
net/mlx4: enhance header files comments
Add missing comments and fix those not Doxygen-friendly.
Since the private structure definition is modified, use this opportunity to add one remaining missing include required by one of its fields (sys/queue.h for LIST_HEAD()).
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
61cbdd41 |
| 01-Sep-2017 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx4: separate device control functions
Private functions are now prefixed with "mlx4_" to prevent them from conflicting with their mlx5 PMD counterparts at link time.
No impact on functionalit
net/mlx4: separate device control functions
Private functions are now prefixed with "mlx4_" to prevent them from conflicting with their mlx5 PMD counterparts at link time.
No impact on functionality.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
35d02c54 |
| 01-Sep-2017 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx4: refactor interrupt FD settings
File descriptors used for interrupts processing must be made non-blocking.
Doing so as soon as they are opened instead of waiting until they are needed is m
net/mlx4: refactor interrupt FD settings
File descriptors used for interrupts processing must be made non-blocking.
Doing so as soon as they are opened instead of waiting until they are needed is more efficient as it avoids performing redundant system calls and run through their associated error-handling code later on.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
76df01ff |
| 01-Sep-2017 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx4: separate debugging macros
The new definitions also rely on the existing DPDK logging subsystem instead of using fprintf() directly.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind
net/mlx4: separate debugging macros
The new definitions also rely on the existing DPDK logging subsystem instead of using fprintf() directly.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|