summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_sig.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2008-04-15 21:15:32 +0000
committermav <mav@FreeBSD.org>2008-04-15 21:15:32 +0000
commit9ed14d3ac1062059f90ad8a3f47c3b7ecf2b4db9 (patch)
treef4c5e462487e00fa80b6e4128d4d881ce05227af /lib/libthr/thread/thr_sig.c
parent17592597420bddf1004fcfa1a8707155cbe78ab0 (diff)
downloadFreeBSD-src-9ed14d3ac1062059f90ad8a3f47c3b7ecf2b4db9.zip
FreeBSD-src-9ed14d3ac1062059f90ad8a3f47c3b7ecf2b4db9.tar.gz
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
Diffstat (limited to 'lib/libthr/thread/thr_sig.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud