DPDK 21.11.9
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
38typedef int (*rte_power_monitor_clb_t)(const uint64_t val,
39 const uint64_t opaque[RTE_POWER_MONITOR_OPAQUE_SZ]);
40
41struct rte_power_monitor_cond {
42 volatile void *addr;
43 uint8_t size;
52 uint64_t opaque[RTE_POWER_MONITOR_OPAQUE_SZ];
54};
55
87__rte_experimental
88int rte_power_monitor(const struct rte_power_monitor_cond *pmc,
89 const uint64_t tsc_timestamp);
90
107__rte_experimental
108int rte_power_monitor_wakeup(const unsigned int lcore_id);
109
129__rte_experimental
130int rte_power_pause(const uint64_t tsc_timestamp);
131
163__rte_experimental
164int 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_ */
int(* rte_power_monitor_clb_t)(const uint64_t val, const uint64_t opaque[RTE_POWER_MONITOR_OPAQUE_SZ])
__rte_experimental int rte_power_monitor_wakeup(const unsigned int lcore_id)
__rte_experimental int rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[], const uint32_t num, const uint64_t tsc_timestamp)
__rte_experimental int rte_power_pause(const uint64_t tsc_timestamp)
__rte_experimental int rte_power_monitor(const struct rte_power_monitor_cond *pmc, const uint64_t tsc_timestamp)
#define RTE_POWER_MONITOR_OPAQUE_SZ