diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-11-22 05:55:56 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-11-22 05:55:56 +0000 |
commit | 9d3bb599b193495af5419ee85be4afe9a18b6091 (patch) | |
tree | 0291af1a0fda6ca2d8e62cb1f363d45baefe0303 /sys/sun4v | |
parent | fb7f8e0e59cfa5b30a6f0b0d1377402f14c64673 (diff) | |
download | FreeBSD-src-9d3bb599b193495af5419ee85be4afe9a18b6091.zip FreeBSD-src-9d3bb599b193495af5419ee85be4afe9a18b6091.tar.gz |
- bump __FreeBSD version to reflect added buf_ring, memory barriers,
and ifnet functions
- add memory barriers to <machine/atomic.h>
- update drivers to only conditionally define their own
- add lockless producer / consumer ring buffer
- remove ring buffer implementation from cxgb and update its callers
- add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to
allow drivers to efficiently manage multiple hardware queues
(i.e. not serialize all packets through one ifq)
- expose if_qflush to allow drivers to flush any driver managed queues
This work was supported by Bitgravity Inc. and Chelsio Inc.
Diffstat (limited to 'sys/sun4v')
-rw-r--r-- | sys/sun4v/include/atomic.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/sun4v/include/atomic.h b/sys/sun4v/include/atomic.h index fe36791..c5005fa 100644 --- a/sys/sun4v/include/atomic.h +++ b/sys/sun4v/include/atomic.h @@ -33,6 +33,10 @@ #include <machine/cpufunc.h> +#define mb() __asm__ __volatile__ ("membar #MemIssue": : :"memory") +#define wmb() mb() +#define rmb() mb() + /* Userland needs different ASI's. */ #ifdef _KERNEL #define __ASI_ATOMIC ASI_N |