summaryrefslogtreecommitdiff
path: root/sys/netinet6/in6_ifattach.h
diff options
context:
space:
mode:
authorJonathan Matthew <jmatthew@cvs.openbsd.org>2015-11-28 09:42:11 +0000
committerJonathan Matthew <jmatthew@cvs.openbsd.org>2015-11-28 09:42:11 +0000
commit20c47ceb322af637ac425d248011f5be9ab5beb4 (patch)
treedbc45aba9a7abb0437775efe70029c09161a99b3 /sys/netinet6/in6_ifattach.h
parent8ed09e4b021bd0584e36de9ccf8079298f62d199 (diff)
Rework gem_start to check that there's enough space in the ring before
dequeueing a packet, then drop the packet if it can't be sent, rather than using two phase dequeue then commit. Adjust sc_tx_cnt using atomic operations, take the kernel lock before calling gem_start or gem_init from the interrupt handler, and use an interrupt barrier when taking the interface down. With all this done, we can mark the interrupt handler for pci (but not sbus) attached gem(4) as mpsafe. mpi@ wrote this initially, I fixed bugs to keep sparc64 happy and kept it up to date with ifq changes. ok mpi@ dlg@
Diffstat (limited to 'sys/netinet6/in6_ifattach.h')
0 files changed, 0 insertions, 0 deletions