DPDK
make-f/builddir/build/BUILD/dpdk-stable-16.11.2/mk/rte.sdkconfig.mkshowversion
|
Go to the source code of this file.
Data Structures | |
struct | rte_atomic16_t |
struct | rte_atomic32_t |
struct | rte_atomic64_t |
Macros | |
#define | rte_compiler_barrier() |
#define | RTE_ATOMIC16_INIT(val) { (val) } |
#define | RTE_ATOMIC32_INIT(val) { (val) } |
#define | RTE_ATOMIC64_INIT(val) { (val) } |
Atomic Operations
This file defines a generic API for atomic operations.
Definition in file rte_atomic.h.
#define rte_compiler_barrier | ( | ) |
Compiler barrier.
Guarantees that operation reordering does not occur at compile time for operations directly before and after the barrier.
Definition at line 111 of file rte_atomic.h.
#define RTE_ATOMIC16_INIT | ( | val | ) | { (val) } |
Static initializer for an atomic counter.
Definition at line 154 of file rte_atomic.h.
#define RTE_ATOMIC32_INIT | ( | val | ) | { (val) } |
Static initializer for an atomic counter.
Definition at line 407 of file rte_atomic.h.
#define RTE_ATOMIC64_INIT | ( | val | ) | { (val) } |
Static initializer for an atomic counter.
Definition at line 659 of file rte_atomic.h.
General memory barrier.
Guarantees that the LOAD and STORE operations generated before the barrier occur before the LOAD and STORE operations generated after. This function is architecture dependent.
Write memory barrier.
Guarantees that the STORE operations generated before the barrier occur before the STORE operations generated after. This function is architecture dependent.
Read memory barrier.
Guarantees that the LOAD operations generated before the barrier occur before the LOAD operations generated after. This function is architecture dependent.
General memory barrier between lcores
Guarantees that the LOAD and STORE operations that precede the rte_smp_mb() call are globally visible across the lcores before the the LOAD and STORE operations that follows it.
Write memory barrier between lcores
Guarantees that the STORE operations that precede the rte_smp_wmb() call are globally visible across the lcores before the the STORE operations that follows it.
Read memory barrier between lcores
Guarantees that the LOAD operations that precede the rte_smp_rmb() call are globally visible across the lcores before the the LOAD operations that follows it.
|
inlinestatic |
Atomic compare and set.
(atomic) equivalent to: if (*dst == exp) *dst = src (all 16-bit words)
dst | The destination location into which the value will be written. |
exp | The expected value. |
src | The new value. |
|
inlinestatic |
Initialize an atomic counter.
v | A pointer to the atomic counter. |
Definition at line 163 of file rte_atomic.h.
|
inlinestatic |
Atomically read a 16-bit value from a counter.
v | A pointer to the atomic counter. |
Definition at line 177 of file rte_atomic.h.
|
inlinestatic |
Atomically set a counter to a 16-bit value.
v | A pointer to the atomic counter. |
new_value | The new value for the counter. |
Definition at line 191 of file rte_atomic.h.
|
inlinestatic |
Atomically add a 16-bit value to an atomic counter.
v | A pointer to the atomic counter. |
inc | The value to be added to the counter. |
Definition at line 205 of file rte_atomic.h.
|
inlinestatic |
Atomically subtract a 16-bit value from an atomic counter.
v | A pointer to the atomic counter. |
dec | The value to be subtracted from the counter. |
Definition at line 219 of file rte_atomic.h.
|
inlinestatic |
Atomically increment a counter by one.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically decrement a counter by one.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically add a 16-bit value to a counter and return the result.
Atomically adds the 16-bits value (inc) to the atomic counter (v) and returns the value of v after addition.
v | A pointer to the atomic counter. |
inc | The value to be added to the counter. |
Definition at line 272 of file rte_atomic.h.
|
inlinestatic |
Atomically subtract a 16-bit value from a counter and return the result.
Atomically subtracts the 16-bit value (inc) from the atomic counter (v) and returns the value of v after the subtraction.
v | A pointer to the atomic counter. |
dec | The value to be subtracted from the counter. |
Definition at line 292 of file rte_atomic.h.
|
inlinestatic |
Atomically increment a 16-bit counter by one and test.
Atomically increments the atomic counter (v) by one and returns true if the result is 0, or false in all other cases.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically decrement a 16-bit counter by one and test.
Atomically decrements the atomic counter (v) by one and returns true if the result is 0, or false in all other cases.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically test and set a 16-bit atomic counter.
If the counter value is already set, return 0 (failed). Otherwise, set the counter value to 1 and return 1 (success).
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically set a 16-bit counter to 0.
v | A pointer to the atomic counter. |
Definition at line 363 of file rte_atomic.h.
|
inlinestatic |
Atomic compare and set.
(atomic) equivalent to: if (*dst == exp) *dst = src (all 32-bit words)
dst | The destination location into which the value will be written. |
exp | The expected value. |
src | The new value. |
|
inlinestatic |
Initialize an atomic counter.
v | A pointer to the atomic counter. |
Definition at line 416 of file rte_atomic.h.
|
inlinestatic |
Atomically read a 32-bit value from a counter.
v | A pointer to the atomic counter. |
Definition at line 430 of file rte_atomic.h.
|
inlinestatic |
Atomically set a counter to a 32-bit value.
v | A pointer to the atomic counter. |
new_value | The new value for the counter. |
Definition at line 444 of file rte_atomic.h.
|
inlinestatic |
Atomically add a 32-bit value to an atomic counter.
v | A pointer to the atomic counter. |
inc | The value to be added to the counter. |
Definition at line 458 of file rte_atomic.h.
|
inlinestatic |
Atomically subtract a 32-bit value from an atomic counter.
v | A pointer to the atomic counter. |
dec | The value to be subtracted from the counter. |
Definition at line 472 of file rte_atomic.h.
|
inlinestatic |
Atomically increment a counter by one.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically decrement a counter by one.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically add a 32-bit value to a counter and return the result.
Atomically adds the 32-bits value (inc) to the atomic counter (v) and returns the value of v after addition.
v | A pointer to the atomic counter. |
inc | The value to be added to the counter. |
Definition at line 525 of file rte_atomic.h.
|
inlinestatic |
Atomically subtract a 32-bit value from a counter and return the result.
Atomically subtracts the 32-bit value (inc) from the atomic counter (v) and returns the value of v after the subtraction.
v | A pointer to the atomic counter. |
dec | The value to be subtracted from the counter. |
Definition at line 545 of file rte_atomic.h.
|
inlinestatic |
Atomically increment a 32-bit counter by one and test.
Atomically increments the atomic counter (v) by one and returns true if the result is 0, or false in all other cases.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically decrement a 32-bit counter by one and test.
Atomically decrements the atomic counter (v) by one and returns true if the result is 0, or false in all other cases.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically test and set a 32-bit atomic counter.
If the counter value is already set, return 0 (failed). Otherwise, set the counter value to 1 and return 1 (success).
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically set a 32-bit counter to 0.
v | A pointer to the atomic counter. |
Definition at line 616 of file rte_atomic.h.
|
inlinestatic |
An atomic compare and set function used by the mutex functions. (atomic) equivalent to: if (*dst == exp) *dst = src (all 64-bit words)
dst | The destination into which the value will be written. |
exp | The expected value. |
src | The new value. |
|
inlinestatic |
Initialize the atomic counter.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically read a 64-bit counter.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically set a 64-bit counter.
v | A pointer to the atomic counter. |
new_value | The new value of the counter. |
|
inlinestatic |
Atomically add a 64-bit value to a counter.
v | A pointer to the atomic counter. |
inc | The value to be added to the counter. |
|
inlinestatic |
Atomically subtract a 64-bit value from a counter.
v | A pointer to the atomic counter. |
dec | The value to be subtracted from the counter. |
|
inlinestatic |
Atomically increment a 64-bit counter by one and test.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically decrement a 64-bit counter by one and test.
v | A pointer to the atomic counter. |
|
inlinestatic |
Add a 64-bit value to an atomic counter and return the result.
Atomically adds the 64-bit value (inc) to the atomic counter (v) and returns the value of v after the addition.
v | A pointer to the atomic counter. |
inc | The value to be added to the counter. |
|
inlinestatic |
Subtract a 64-bit value from an atomic counter and return the result.
Atomically subtracts the 64-bit value (dec) from the atomic counter (v) and returns the value of v after the subtraction.
v | A pointer to the atomic counter. |
dec | The value to be subtracted from the counter. |
|
inlinestatic |
Atomically increment a 64-bit counter by one and test.
Atomically increments the atomic counter (v) by one and returns true if the result is 0, or false in all other cases.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically decrement a 64-bit counter by one and test.
Atomically decrements the atomic counter (v) by one and returns true if the result is 0, or false in all other cases.
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically test and set a 64-bit atomic counter.
If the counter value is already set, return 0 (failed). Otherwise, set the counter value to 1 and return 1 (success).
v | A pointer to the atomic counter. |
|
inlinestatic |
Atomically set a 64-bit counter to 0.
v | A pointer to the atomic counter. |