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
..
2006-09-30 12:37:43 +00:00
2007-01-15 05:55:56 +00:00
2007-07-26 10:54:33 +00:00
2006-01-14 21:49:31 +00:00
2005-12-09 07:09:44 +00:00
2006-02-14 15:22:24 +00:00
2006-02-17 09:42:49 +00:00
2006-01-14 14:17:27 +00:00
2008-03-04 11:10:54 +00:00
2008-01-27 02:04:12 +00:00