DPDK
21.02.0
|
Go to the source code of this file.
Macros | |
#define | RTE_KEEPALIVE_MAXCORES RTE_MAX_LCORE |
Typedefs | |
typedef void(* | rte_keepalive_failure_callback_t) (void *data, const int id_core) |
typedef void(* | rte_keepalive_relay_callback_t) (void *data, const int id_core, enum rte_keepalive_state core_state, uint64_t last_seen) |
Functions | |
struct rte_keepalive * | rte_keepalive_create (rte_keepalive_failure_callback_t callback, void *data) |
void | rte_keepalive_dispatch_pings (void *ptr_timer, void *ptr_data) |
void | rte_keepalive_register_core (struct rte_keepalive *keepcfg, const int id_core) |
void | rte_keepalive_mark_alive (struct rte_keepalive *keepcfg) |
void | rte_keepalive_mark_sleep (struct rte_keepalive *keepcfg) |
void | rte_keepalive_register_relay_callback (struct rte_keepalive *keepcfg, rte_keepalive_relay_callback_t callback, void *data) |
DPDK RTE LCore Keepalive Monitor.
Definition in file rte_keepalive.h.
#define RTE_KEEPALIVE_MAXCORES RTE_MAX_LCORE |
Number of cores to track.
Definition at line 21 of file rte_keepalive.h.
typedef void(* rte_keepalive_failure_callback_t) (void *data, const int id_core) |
Keepalive failure callback.
Receives a data pointer passed to rte_keepalive_create() and the id of the failed core.
data | Data pointer passed to rte_keepalive_create() |
id_core | ID of the core that has failed |
Definition at line 42 of file rte_keepalive.h.
typedef void(* rte_keepalive_relay_callback_t) (void *data, const int id_core, enum rte_keepalive_state core_state, uint64_t last_seen) |
Keepalive relay callback.
Receives a data pointer passed to rte_keepalive_register_relay_callback(), the id of the core for which state is to be forwarded, and details of the current core state.
data | Data pointer passed to rte_keepalive_register_relay_callback() |
id_core | ID of the core for which state is being reported |
core_state | The current state of the core |
last_seen | Timestamp of when core was last seen alive |
Definition at line 57 of file rte_keepalive.h.
struct rte_keepalive* rte_keepalive_create | ( | rte_keepalive_failure_callback_t | callback, |
void * | data | ||
) |
Initialise keepalive sub-system.
callback | Function called upon detection of a dead core. |
data | Data pointer to be passed to function callback. |
void rte_keepalive_dispatch_pings | ( | void * | ptr_timer, |
void * | ptr_data | ||
) |
Checks & handles keepalive state of monitored cores.
*ptr_timer | Triggering timer (unused) |
*ptr_data | Data pointer (keepalive structure) |
void rte_keepalive_register_core | ( | struct rte_keepalive * | keepcfg, |
const int | id_core | ||
) |
Registers a core for keepalive checks.
*keepcfg | Keepalive structure pointer |
id_core | ID number of core to register. |
void rte_keepalive_mark_alive | ( | struct rte_keepalive * | keepcfg | ) |
Per-core keepalive check.
*keepcfg | Keepalive structure pointer |
This function needs to be called from within the main process loop of the LCore to be checked.
void rte_keepalive_mark_sleep | ( | struct rte_keepalive * | keepcfg | ) |
Per-core sleep-time indication.
*keepcfg | Keepalive structure pointer |
If CPU idling is enabled, this function needs to be called from within the main process loop of the LCore going to sleep, in order to avoid the LCore being mis-detected as dead.
void rte_keepalive_register_relay_callback | ( | struct rte_keepalive * | keepcfg, |
rte_keepalive_relay_callback_t | callback, | ||
void * | data | ||
) |
Registers a 'live core' callback.
The complement of the 'dead core' callback. This is called when a core is known to be alive, and is intended for cases when an app needs to know 'liveness' beyond just knowing when a core has died.
*keepcfg | Keepalive structure pointer |
callback | Function called upon detection of a dead core. |
data | Data pointer to be passed to function callback. |