eal: introduce I/O device memory barriers
This commit introduce rte_io_mb(), rte_io_wmb() and rte_io_rmb(), in order to enable memory barriers between I/O device and CPU. Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
This commit is contained in:
parent
92fdc23277
commit
1ea155733e
@ -100,6 +100,33 @@ static inline void rte_smp_wmb(void);
|
||||
*/
|
||||
static inline void rte_smp_rmb(void);
|
||||
|
||||
/**
|
||||
* General memory barrier for I/O device
|
||||
*
|
||||
* Guarantees that the LOAD and STORE operations that precede the
|
||||
* rte_io_mb() call are visible to I/O device or CPU before the
|
||||
* LOAD and STORE operations that follow it.
|
||||
*/
|
||||
static inline void rte_io_mb(void);
|
||||
|
||||
/**
|
||||
* Write memory barrier for I/O device
|
||||
*
|
||||
* Guarantees that the STORE operations that precede the
|
||||
* rte_io_wmb() call are visible to I/O device before the STORE
|
||||
* operations that follow it.
|
||||
*/
|
||||
static inline void rte_io_wmb(void);
|
||||
|
||||
/**
|
||||
* Read memory barrier for IO device
|
||||
*
|
||||
* Guarantees that the LOAD operations on I/O device that precede the
|
||||
* rte_io_rmb() call are visible to CPU before the LOAD
|
||||
* operations that follow it.
|
||||
*/
|
||||
static inline void rte_io_rmb(void);
|
||||
|
||||
#endif /* __DOXYGEN__ */
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user