freebsd-dev/sys/netgraph/bluetooth
Alexander Motin 9852972bb5 Several changes breaking netgraph module ABI collected together:
- reorder structures fields (XX_refs) a bit to group fields modified
   same time together. According to my tests it gives up to 10%
   SMP performance benefit on real workload due to reduced inter-CPU
   cache trashing.
 - change q_flags from long to int as long is not really needed there and
   it's usage with atomics is argued by some people.
 - move NGF_WORKQ flag into the separate field q_flags2 as it protected by
   queue mutex instead of node writer protection used by the rest of flags.
 - move nd_work queue entry to ng_queue structure to which it is more
   related and make it STAILQ instead of TAILQ as now it is a classic FIFO.
 - remove q_node pointer from ng_queue structure as it is not really needed.
 - reimplement item queue using STAILQ instead of own equal implementation.
   As soon as BT subsystem has own item queues using ng_item.el_next update
   it also.
 - change depth field in ng_item from uintptr_t to u_int. It was made
   uintptr_t to keep ABI compatibility.

Reviewed by:	julian, emax
Tested with:	Netperf cluster
2008-04-15 21:15:32 +00:00
..
common Despite several examples in the kernel, the third argument of 2007-06-04 18:25:08 +00:00
drivers Make ng_h4(4) MPSAFE. Use similar to ng_tty(4) locking strategy. 2007-08-13 17:19:28 +00:00
hci
include Several changes breaking netgraph module ABI collected together: 2008-04-15 21:15:32 +00:00
l2cap Try to silence Coverity by adding (void) in front of function call. 2007-03-28 21:25:56 +00:00
socket Fix locking issue in ng_btsocket_l2cap_ctloutput() 2007-10-31 16:17:20 +00:00