#
8b0a1b8c |
| 08-Dec-2022 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
eal: stop using pthread for lcores and control threads
Replace the use of pthread_t in struct lcore_config with the EAL rte_thread_t type.
Replace the direct use of pthread_create(), pthread_self()
eal: stop using pthread for lcores and control threads
Replace the use of pthread_t in struct lcore_config with the EAL rte_thread_t type.
Replace the direct use of pthread_create(), pthread_self() pthread_getaffinity_np() and pthread_setaffinity_np().
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
9856af40 |
| 29-Sep-2022 |
Bruce Richardson <bruce.richardson@intel.com> |
eal: remove panic on remote launch failure
Library functions should not cause the app to exit or panic. Replace the existing panic call in the EAL remote launch functions with an error code return i
eal: remove panic on remote launch failure
Library functions should not cause the app to exit or panic. Replace the existing panic call in the EAL remote launch functions with an error code return instead.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
770ebc06 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus: move IOVA definition from header
iova enum definition does not need to be defined as part of the bus API. Move it to rte_eal.h. With this step, rte_eal.h does not depend on rte_bus.h and rte_de
bus: move IOVA definition from header
iova enum definition does not need to be defined as part of the bus API. Move it to rte_eal.h. With this step, rte_eal.h does not depend on rte_bus.h and rte_dev.h. Fix existing code that was relying on these implicit inclusions.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
a95d7054 |
| 05-Apr-2022 |
David Marchand <david.marchand@redhat.com> |
eal: factorize lcore main loop
All OS implementations provide the same main loop. Introduce helpers (shared for Linux and FreeBSD) to handle synchronisation between main and threads and factorize th
eal: factorize lcore main loop
All OS implementations provide the same main loop. Introduce helpers (shared for Linux and FreeBSD) to handle synchronisation between main and threads and factorize the rest as common code. Thread id are now logged as string in a common format across OS.
Note: - this change also fixes Windows EAL: worker threads cpu affinity was incorrectly reported in log.
- libabigail flags this change as breaking ABI in clang builds: 1 function with some indirect sub-type change:
[C] 'function int rte_eal_remote_launch(int (void*)*, void*, unsigned int)' at eal_common_launch.c:35:1 has some indirect sub-type changes: parameter 1 of type 'int (void*)*' changed: in pointed to type 'function type int (void*)' at rte_launch.h:31:1: entity changed from 'function type int (void*)' to 'typedef lcore_function_t' at rte_launch.h:31:1 type size hasn't changed
This is being investigated on libabigail side. For now, we don't have much choice but to waive reports on this symbol.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
show more ...
|
#
449e7dbc |
| 05-Apr-2022 |
David Marchand <david.marchand@redhat.com> |
eal: cleanup lcore ID hand-over
So far, a worker thread has been using its thread_id to discover which lcore has been assigned to it.
On the other hand, as noted by Tyler, the pthread API does not
eal: cleanup lcore ID hand-over
So far, a worker thread has been using its thread_id to discover which lcore has been assigned to it.
On the other hand, as noted by Tyler, the pthread API does not strictly guarantee that a new thread won't start running eal_thread_loop before pthread_create writes to &lcore_config[xx].thread_id.
Though all OS implementations supported in DPDK (recently) ensure this property, it is more robust to have the main thread directly pass the worker thread lcore.
Signed-off-by: David Marchand <david.marchand@redhat.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 ...
|