rte_pause.h(3)
π rte_pause.h(3) β Library Functions Manual π
okay bestie, welcome to the pause page π«Ά it's giving "chill out, CPU, take a lil breath." this is rte_pause.h(3) from the DPDK docs, and we're gonna go through the whole thing together, no skipping, no cap β¨
πΈ NAME πΈ
rte_pause.h β that's it, that's the name, that's the whole vibe π
β¨ 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)
four little functions, all of them static, three of them __rte_always_inline β the whole girl group is here π
π Detailed Description π
CPU pause operation.
like, that's the entire point of the header. it pauses. it waits. it chills π
Definition in file rte_pause.h.
π Function Documentation π
β 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. πβ¨ so like, if you're vibing in a spin loop burning watts for no reason, hit this and let the CPU nap for a sec. main character energy is knowing when NOT to be busy.
β __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
addrβ A pointer to the memory location.expectedβ A 16-bit expected value to be in the memory location.memorderβ Two different memory orders that can be specified:rte_memory_order_acquireandrte_memory_order_relaxed.
Definition at line 84 of file rte_pause.h.
β __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. π¦ same energy, wider girl.
Parameters
addrβ A pointer to the memory location.expectedβ A 32-bit expected value to be in the memory location.memorderβ Two different memory orders that can be specified:rte_memory_order_acquireandrte_memory_order_relaxed.
Definition at line 95 of file rte_pause.h.
β __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
addrβ A pointer to the memory location.expectedβ A 64-bit expected value to be in the memory location.memorderβ Two different memory orders that can be specified:rte_memory_order_acquireandrte_memory_order_relaxed.
Definition at line 106 of file rte_pause.h.
π«Ά friendly reminder bestie:rte_memory_order_relaxedandrte_memory_order_acquireare the only two memorders you can pass here. don't get creative, the docs said what the docs said fr fr.
π Author π
Generated automatically by Doxygen for DPDK from the source code. not a human, just a very dedicated little documentation robot doing its thing π€π
aaaaand that's the whole page, you ate it, you read all of it, I'm so proud π₯Ήβ¨
this was DPDK, Version 25.11.3, and the page is rte_pause.h(3) β mwah, bye bestie, go pause responsibly π
πΈ
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms