table of contents
rte_pause.h(3) | DPDK | rte_pause.h(3) |
NAME¶
rte_pause.h
SYNOPSIS¶
#include <stdint.h>
#include <assert.h>
#include <rte_common.h>
#include <rte_atomic.h>
#include <rte_stdatomic.h>
Functions¶
static void rte_pause (void)
static __rte_always_inline void rte_wait_until_equal_16
(volatile uint16_t *addr, uint16_t expected, rte_memory_order memorder)
static __rte_always_inline void rte_wait_until_equal_32
(volatile uint32_t *addr, uint32_t expected, rte_memory_order memorder)
static __rte_always_inline void rte_wait_until_equal_64
(volatile uint64_t *addr, uint64_t expected, rte_memory_order memorder)
Detailed Description¶
CPU pause operation.
Definition in file rte_pause.h.
Function Documentation¶
static void rte_pause (void) [inline], [static]¶
Pause CPU execution for a short while
This call is intended for tight loops which poll a shared resource or wait for an event. A short pause within the loop may reduce the power consumption.
static __rte_always_inline void rte_wait_until_equal_16 (volatile uint16_t * addr, uint16_t expected, rte_memory_order memorder) [static]¶
Wait for *addr to be updated with a 16-bit expected value, with a relaxed memory ordering model meaning the loads around this API can be reordered.
Parameters
expected A 16-bit expected value to be in the memory location.
memorder Two different memory orders that can be specified: rte_memory_order_acquire and rte_memory_order_relaxed.
Definition at line 80 of file rte_pause.h.
static __rte_always_inline void rte_wait_until_equal_32 (volatile uint32_t * addr, uint32_t expected, rte_memory_order memorder) [static]¶
Wait for *addr to be updated with a 32-bit expected value, with a relaxed memory ordering model meaning the loads around this API can be reordered.
Parameters
expected A 32-bit expected value to be in the memory location.
memorder Two different memory orders that can be specified: rte_memory_order_acquire and rte_memory_order_relaxed.
Definition at line 91 of file rte_pause.h.
static __rte_always_inline void rte_wait_until_equal_64 (volatile uint64_t * addr, uint64_t expected, rte_memory_order memorder) [static]¶
Wait for *addr to be updated with a 64-bit expected value, with a relaxed memory ordering model meaning the loads around this API can be reordered.
Parameters
expected A 64-bit expected value to be in the memory location.
memorder Two different memory orders that can be specified: rte_memory_order_acquire and rte_memory_order_relaxed.
Definition at line 102 of file rte_pause.h.
Author¶
Generated automatically by Doxygen for DPDK from the source code.
Fri Dec 15 2023 | Version 23.11.0 |