| rte_launch.h(3) | Library Functions Manual | rte_launch.h(3) |
rte_launch.h
typedef int() lcore_function_t(void *)
enum rte_lcore_state_t { WAIT, RUNNING }
enum rte_rmt_call_main_t { SKIP_MAIN = 0, CALL_MAIN }
int rte_eal_remote_launch (lcore_function_t *f, void
*arg, unsigned worker_id)
int rte_eal_mp_remote_launch (lcore_function_t *f, void *arg,
enum rte_rmt_call_main_t call_main)
enum rte_lcore_state_t rte_eal_get_lcore_state (unsigned int
worker_id)
int rte_eal_wait_lcore (unsigned worker_id)
void rte_eal_mp_wait_lcore (void)
Launch tasks on other lcores
Definition in file rte_launch.h.
Definition of a remote launch function.
Definition at line 31 of file rte_launch.h.
State of an lcore.
Enumerator
Definition at line 21 of file rte_launch.h.
This enum indicates whether the main core must execute the handler launched on all logical cores.
Enumerator
Definition at line 73 of file rte_launch.h.
Launch a function on another lcore.
To be executed on the MAIN lcore only.
Sends a message to a worker lcore (identified by the worker_id) that is in the WAIT state (this is true after the first call to rte_eal_init()). This can be checked by first calling rte_eal_wait_lcore(worker_id).
When the remote lcore receives the message, it switches to the RUNNING state, then calls the function f with argument arg. Once the execution is done, the remote lcore switches to WAIT state and the return value of f is stored in a local variable to be read using rte_eal_wait_lcore().
The MAIN lcore returns as soon as the message is sent and knows nothing about the completion of f.
Note: This function is not designed to offer optimum performance. It is just a practical way to launch a function on another lcore at initialization time.
Parameters
Returns
Launch a function on all lcores.
Check that each WORKER lcore is in a WAIT state, then call rte_eal_remote_launch() for each lcore.
Parameters
Returns
Get the state of the lcore identified by worker_id.
To be executed on the MAIN lcore only.
Parameters
Returns
Wait until an lcore finishes its job.
To be executed on the MAIN lcore only.
If the lcore identified by the worker_id is in RUNNING state, wait until the lcore finishes its job and moves to the WAIT state.
Parameters
Returns
Wait until all lcores finish their jobs.
To be executed on the MAIN lcore only. Issue an rte_eal_wait_lcore() for every lcore. The return values are ignored.
After a call to rte_eal_mp_wait_lcore(), the caller can assume that all worker lcores are in a WAIT state.
Generated automatically by Doxygen for DPDK from the source code.
| Version 24.11.3 | DPDK |