DPDK
21.11.6
lib
eal
include
generic
rte_power_intrinsics.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2020 Intel Corporation
3
*/
4
5
#ifndef _RTE_POWER_INTRINSIC_H_
6
#define _RTE_POWER_INTRINSIC_H_
7
8
#include <inttypes.h>
9
10
#include <rte_compat.h>
11
#include <
rte_spinlock.h
>
12
22
#define RTE_POWER_MONITOR_OPAQUE_SZ 4
23
38
typedef
int (*
rte_power_monitor_clb_t
)(
const
uint64_t val,
39
const
uint64_t opaque[
RTE_POWER_MONITOR_OPAQUE_SZ
]);
40
41
struct
rte_power_monitor_cond {
42
volatile
void
*addr;
43
uint8_t size;
48
rte_power_monitor_clb_t
fn;
52
uint64_t opaque[
RTE_POWER_MONITOR_OPAQUE_SZ
];
54
};
55
87
__rte_experimental
88
int
rte_power_monitor
(
const
struct
rte_power_monitor_cond *pmc,
89
const
uint64_t tsc_timestamp);
90
107
__rte_experimental
108
int
rte_power_monitor_wakeup
(
const
unsigned
int
lcore_id);
109
129
__rte_experimental
130
int
rte_power_pause
(
const
uint64_t tsc_timestamp);
131
163
__rte_experimental
164
int
rte_power_monitor_multi
(
const
struct
rte_power_monitor_cond pmc[],
165
const
uint32_t num,
const
uint64_t tsc_timestamp);
166
167
#endif
/* _RTE_POWER_INTRINSIC_H_ */
rte_power_pause
__rte_experimental int rte_power_pause(const uint64_t tsc_timestamp)
RTE_POWER_MONITOR_OPAQUE_SZ
#define RTE_POWER_MONITOR_OPAQUE_SZ
Definition:
rte_power_intrinsics.h:22
rte_power_monitor_multi
__rte_experimental int rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[], const uint32_t num, const uint64_t tsc_timestamp)
rte_spinlock.h
rte_power_monitor
__rte_experimental int rte_power_monitor(const struct rte_power_monitor_cond *pmc, const uint64_t tsc_timestamp)
rte_power_monitor_clb_t
int(* rte_power_monitor_clb_t)(const uint64_t val, const uint64_t opaque[RTE_POWER_MONITOR_OPAQUE_SZ])
Definition:
rte_power_intrinsics.h:38
rte_power_monitor_wakeup
__rte_experimental int rte_power_monitor_wakeup(const unsigned int lcore_id)
Generated by
1.8.17