#
719834a6 |
| 20-Sep-2024 |
Mattias Rönnblom <mattias.ronnblom@ericsson.com> |
use C linkage where appropriate in headers
Assure that 'extern "C" { /../ }' do not cover files included from a particular header file, and address minor issues resulting from this change of order.
use C linkage where appropriate in headers
Assure that 'extern "C" { /../ }' do not cover files included from a particular header file, and address minor issues resulting from this change of order.
Dealing with C++ should delegate to the individual include file level, rather than being imposed by the user of that file. For example, forcing C linkage prevents __Generic macros being replaced with overloaded static inline functions in C++ translation units.
Eliminate 'extern "C"' from files which do not declare any symbols (e.g., only macros or struct types).
On the other hand, the headers check is too naive in assuming that all headers must contain a 'extern "C"'. Such a check was added in commit 1ee492bdc4ff ("buildtools/chkincs: check missing C++ guards"). Since this current change results in many headers not containing such a token, remove the check for 'extern "C"' until we have a better implementation.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
e7bc451c |
| 07-Oct-2024 |
Morten Brørup <mb@smartsharesystems.com> |
trace: disable traces at compilation
Some applications want to omit the trace feature. Either to reduce the memory footprint, to reduce the exposed attack surface, or for other reasons.
This patch
trace: disable traces at compilation
Some applications want to omit the trace feature. Either to reduce the memory footprint, to reduce the exposed attack surface, or for other reasons.
This patch adds an option in rte_config.h to include or omit trace in the build. Trace is included by default.
Omitting trace works by omitting all trace points. For API and ABI compatibility, the trace feature itself remains.
Furthermore, a public function to determine if trace is build time enabled is added; mainly for the benefit of the unit tests.
Signed-off-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
74fff67a |
| 12-Feb-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
eal: add macro to allocate and name a section or segment
Provide __rte_section(name) macro that allocates and names a section or segment that works with both MSVC and GCC.
Update RTE_TRACE_POINT_RE
eal: add macro to allocate and name a section or segment
Provide __rte_section(name) macro that allocates and names a section or segment that works with both MSVC and GCC.
Update RTE_TRACE_POINT_REGISTER with __rte_section("__rte_trace_point") instead of __attribute__(section(name)) so the macro may be compatibly expanded when using MSVC.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
#
4925e15a |
| 08-Feb-2023 |
Ankur Dwivedi <adwivedi@marvell.com> |
trace: add trace point emit for blob
Adds a trace point emit function for capturing a blob. The blob captures the length passed by the application followed by the array.
The maximum blob bytes whic
trace: add trace point emit for blob
Adds a trace point emit function for capturing a blob. The blob captures the length passed by the application followed by the array.
The maximum blob bytes which can be captured is bounded by RTE_TRACE_BLOB_LEN_MAX macro. The value for max blob length macro is 64 bytes. If the length is less than 64 the remaining trailing bytes are set to zero.
This patch also adds test case for emit blob tracepoint function.
Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Sunil Kumar Kori <skori@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
477cc313 |
| 14-Jun-2022 |
David Marchand <david.marchand@redhat.com> |
trace: remove limitation on trace point name
The name of a trace point is provided as a constant string via the RTE_TRACE_POINT_REGISTER macro. We can rely on an explicit constant string in the bina
trace: remove limitation on trace point name
The name of a trace point is provided as a constant string via the RTE_TRACE_POINT_REGISTER macro. We can rely on an explicit constant string in the binary and simply point at it. There is then no need for a (fixed size) copy.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
d7e9c02c |
| 16-Feb-2022 |
Brian Dooley <brian.dooley@intel.com> |
eal: add missing C++ guards
Some public header files were missing 'extern "C"' C++ guards, and couldn't be used by C++ applications. Add the missing guards.
Fixes: af75078fece3 ("first public relea
eal: add missing C++ guards
Some public header files were missing 'extern "C"' C++ guards, and couldn't be used by C++ applications. Add the missing guards.
Fixes: af75078fece3 ("first public release") Fixes: 7f3aa0863903 ("eal: introduce bit operations API") Fixes: 166a743c53fa ("compat: add infrastructure to support symbol versioning") Fixes: 8f40ee0734c8 ("eal/x86: get hypervisor name") Fixes: 75583b0d1efd ("eal: add keep alive monitoring") Fixes: 88701645c98c ("eal: move interrupt type out of igb_uio") Fixes: f04519d8092e ("lib: add missing include dependencies") Fixes: f58880682c81 ("trace: implement register API") Fixes: 428eb983f5f7 ("eal: add OS specific header file") Cc: stable@dpdk.org
Signed-off-by: Brian Dooley <brian.dooley@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
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 ...
|