DPDK
24.11.4
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_lcore.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2010-2014 Intel Corporation
3
*/
4
5
#ifndef _RTE_LCORE_H_
6
#define _RTE_LCORE_H_
7
13
#include <stdio.h>
14
15
#include <rte_compat.h>
16
#include <rte_config.h>
17
#include <
rte_per_lcore.h
>
18
#include <
rte_eal.h
>
19
#include <
rte_launch.h
>
20
#include <
rte_thread.h
>
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
26
#define LCORE_ID_ANY UINT32_MAX
27
28
RTE_DECLARE_PER_LCORE
(
unsigned
, _lcore_id);
29
33
enum
rte_lcore_role_t
{
34
ROLE_RTE,
35
ROLE_OFF,
36
ROLE_SERVICE,
37
ROLE_NON_EAL,
38
};
39
48
enum
rte_lcore_role_t
rte_eal_lcore_role
(
unsigned
int
lcore_id);
49
61
int
62
rte_lcore_has_role
(
unsigned
int
lcore_id,
enum
rte_lcore_role_t
role);
63
77
static
inline
unsigned
78
rte_lcore_id
(
void
)
79
{
80
return
RTE_PER_LCORE
(_lcore_id);
81
}
82
89
unsigned
int
rte_get_main_lcore
(
void
);
90
97
unsigned
int
rte_lcore_count
(
void
);
98
113
int
rte_lcore_index
(
int
lcore_id);
114
121
unsigned
int
rte_socket_id
(
void
);
122
133
unsigned
int
134
rte_socket_count
(
void
);
135
150
int
151
rte_socket_id_by_idx
(
unsigned
int
idx);
152
161
unsigned
int
162
rte_lcore_to_socket_id
(
unsigned
int
lcore_id);
163
172
int
rte_lcore_to_cpu_id
(
int
lcore_id);
173
174
#ifdef RTE_HAS_CPUSET
175
184
rte_cpuset_t
rte_lcore_cpuset
(
unsigned
int
lcore_id);
185
186
#endif
/* RTE_HAS_CPUSET */
187
197
int
rte_lcore_is_enabled
(
unsigned
int
lcore_id);
198
212
unsigned
int
rte_get_next_lcore
(
unsigned
int
i,
int
skip_main,
int
wrap);
213
217
#define RTE_LCORE_FOREACH(i) \
218
for (i = rte_get_next_lcore(-1, 0, 0); \
219
i < RTE_MAX_LCORE; \
220
i = rte_get_next_lcore(i, 0, 0))
221
225
#define RTE_LCORE_FOREACH_WORKER(i) \
226
for (i = rte_get_next_lcore(-1, 1, 0); \
227
i < RTE_MAX_LCORE; \
228
i = rte_get_next_lcore(i, 1, 0))
229
241
typedef
int (*
rte_lcore_init_cb
)(
unsigned
int
lcore_id,
void
*arg);
242
251
typedef
void (*
rte_lcore_uninit_cb
)(
unsigned
int
lcore_id,
void
*arg);
252
281
void
*
282
rte_lcore_callback_register
(
const
char
*name,
rte_lcore_init_cb
init,
283
rte_lcore_uninit_cb
uninit,
void
*arg);
284
295
void
296
rte_lcore_callback_unregister
(
void
*handle);
297
309
typedef
int (*
rte_lcore_iterate_cb
)(
unsigned
int
lcore_id,
void
*arg);
310
327
int
328
rte_lcore_iterate
(
rte_lcore_iterate_cb
cb,
void
*arg);
329
333
struct
rte_lcore_usage
{
338
uint64_t
total_cycles
;
343
uint64_t
busy_cycles
;
344
};
345
359
typedef
int (*
rte_lcore_usage_cb
)(
unsigned
int
lcore_id,
struct
rte_lcore_usage
*usage);
360
373
void
rte_lcore_register_usage_cb
(
rte_lcore_usage_cb
cb);
374
381
void
382
rte_lcore_dump
(FILE *f);
383
397
int
398
rte_thread_register
(
void
);
399
403
void
404
rte_thread_unregister
(
void
);
405
406
#ifdef __cplusplus
407
}
408
#endif
409
410
411
#endif
/* _RTE_LCORE_H_ */
rte_eal.h
rte_launch.h
rte_lcore_to_socket_id
unsigned int rte_lcore_to_socket_id(unsigned int lcore_id)
rte_lcore_callback_unregister
void rte_lcore_callback_unregister(void *handle)
rte_lcore_count
unsigned int rte_lcore_count(void)
rte_lcore_uninit_cb
void(* rte_lcore_uninit_cb)(unsigned int lcore_id, void *arg)
Definition
rte_lcore.h:251
rte_lcore_index
int rte_lcore_index(int lcore_id)
rte_lcore_usage_cb
int(* rte_lcore_usage_cb)(unsigned int lcore_id, struct rte_lcore_usage *usage)
Definition
rte_lcore.h:359
rte_lcore_role_t
rte_lcore_role_t
Definition
rte_lcore.h:33
rte_lcore_register_usage_cb
void rte_lcore_register_usage_cb(rte_lcore_usage_cb cb)
rte_lcore_has_role
int rte_lcore_has_role(unsigned int lcore_id, enum rte_lcore_role_t role)
rte_lcore_is_enabled
int rte_lcore_is_enabled(unsigned int lcore_id)
rte_get_main_lcore
unsigned int rte_get_main_lcore(void)
rte_socket_id_by_idx
int rte_socket_id_by_idx(unsigned int idx)
rte_lcore_dump
void rte_lcore_dump(FILE *f)
rte_thread_register
int rte_thread_register(void)
rte_socket_id
unsigned int rte_socket_id(void)
rte_lcore_cpuset
rte_cpuset_t rte_lcore_cpuset(unsigned int lcore_id)
rte_lcore_callback_register
void * rte_lcore_callback_register(const char *name, rte_lcore_init_cb init, rte_lcore_uninit_cb uninit, void *arg)
rte_eal_lcore_role
enum rte_lcore_role_t rte_eal_lcore_role(unsigned int lcore_id)
rte_lcore_iterate
int rte_lcore_iterate(rte_lcore_iterate_cb cb, void *arg)
rte_lcore_iterate_cb
int(* rte_lcore_iterate_cb)(unsigned int lcore_id, void *arg)
Definition
rte_lcore.h:309
rte_lcore_init_cb
int(* rte_lcore_init_cb)(unsigned int lcore_id, void *arg)
Definition
rte_lcore.h:241
rte_get_next_lcore
unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap)
rte_lcore_to_cpu_id
int rte_lcore_to_cpu_id(int lcore_id)
rte_thread_unregister
void rte_thread_unregister(void)
rte_socket_count
unsigned int rte_socket_count(void)
rte_lcore_id
static unsigned rte_lcore_id(void)
Definition
rte_lcore.h:78
rte_per_lcore.h
RTE_PER_LCORE
#define RTE_PER_LCORE(name)
Definition
rte_per_lcore.h:46
RTE_DECLARE_PER_LCORE
#define RTE_DECLARE_PER_LCORE(type, name)
Definition
rte_per_lcore.h:39
rte_thread.h
rte_lcore_usage
Definition
rte_lcore.h:333
rte_lcore_usage::busy_cycles
uint64_t busy_cycles
Definition
rte_lcore.h:343
rte_lcore_usage::total_cycles
uint64_t total_cycles
Definition
rte_lcore.h:338
lib
eal
include
rte_lcore.h
Generated by
1.17.0