#
ae67895b |
| 08-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
lib: add more logging helpers
Add helpers for logging messages in libraries instead of calling RTE_LOG() directly. Those helpers take care of adding a \n: this will make the transition to RTE_LOG_LI
lib: add more logging helpers
Add helpers for logging messages in libraries instead of calling RTE_LOG() directly. Those helpers take care of adding a \n: this will make the transition to RTE_LOG_LINE trivial.
Note: - for acl and sched libraries that still has some debug multilines messages, a direct call to RTE_LOG is used: this will make it easier to notice such special cases,
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
eb870201 |
| 14-Jun-2022 |
David Marchand <david.marchand@redhat.com> |
trace: remove limitation on directory
Remove arbitrary limit on 12 characters of the file prefix used for the directory where to store the traces. Simplify the code by relying on dynamic allocations
trace: remove limitation on directory
Remove arbitrary limit on 12 characters of the file prefix used for the directory where to store the traces. Simplify the code by relying on dynamic allocations.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Sunil Kumar Kori <skori@marvell.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 ...
|
#
d6fd5a01 |
| 14-Sep-2022 |
David Marchand <david.marchand@redhat.com> |
trace: fix dynamically enabling trace points
Enabling trace points at runtime was not working if no trace point had been enabled first at rte_eal_init() time. The reason was that trace.args reflecte
trace: fix dynamically enabling trace points
Enabling trace points at runtime was not working if no trace point had been enabled first at rte_eal_init() time. The reason was that trace.args reflected the arguments passed to --trace= EAL option.
To fix this: - the trace subsystem initialisation is updated: trace directory creation is deferred to when traces are dumped (to avoid creating directories that may not be used), - per lcore memory allocation still relies on rte_trace_is_enabled() but this helper now tracks if any trace point is enabled. The documentation is updated accordingly, - cleanup helpers must always be called in rte_eal_cleanup() since some trace points might have been enabled and disabled in the lifetime of the DPDK application,
With this fix, we can update the unit test and check that a trace point callback is invoked when expected.
Note: - the 'trace' global variable might be shadowed with the argument passed to the functions dealing with trace point handles. 'tp' has been used for referring to trace_point object. Prefer 't' for referring to handles,
Fixes: 84c4fae4628f ("trace: implement operation APIs") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Sunil Kumar Kori <skori@marvell.com>
show more ...
|
#
d59a9406 |
| 17-Jun-2022 |
Chengwen Feng <fengchengwen@huawei.com> |
trace: fix init with long file prefix
Bug scenario: 1. start testpmd: $ dpdk-testpmd -l 4-6 -a 0000:7d:00.0 --trace=.* \ --file-prefix=trace_autotest -- -i 2. then observed: EAL: eal_trace_i
trace: fix init with long file prefix
Bug scenario: 1. start testpmd: $ dpdk-testpmd -l 4-6 -a 0000:7d:00.0 --trace=.* \ --file-prefix=trace_autotest -- -i 2. then observed: EAL: eal_trace_init():93 failed to initialize trace [File exists] EAL: FATAL: Cannot init trace EAL: Cannot init trace EAL: Error - exiting with code: 1
The root cause it that the offset set wrong with long file-prefix and then lead the strftime return failed.
At the same time, trace_session_name_generate() uses errno as the return value, but the errno was not set if strftime returned zero. A previously set errno (EEXIST or ENOENT from call to mkdir for creating the runtime configuration directory) was returned in this case. This is fragile and may lead to incorrect logic if errno was set to 0 previously. This also resulted in inaccurate prompting. Set errno to ENOSPC if strftime return zero.
Fixes: 321dd5f8fa62 ("trace: add internal init and fini interface") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: David Marchand <david.marchand@redhat.com> Acked-by: Jerin Jacob <jerinj@marvell.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 ...
|