freebsd-dev/sys/netgraph
Hartmut Brandt adcdb48eb5 Replace the lock-less algorithm for the free item list with a more
conservative lock. The problem with the lock-less algorithm is that
it suffers from the ABA problem. Running an application with funnels
a couple of 100kpkts/s through the netgraph system on a dual CPU system
with MPSAFE drivers will panic almost immediatly with the old algorithm.

It may be possible to eliminate the contention between threads that insert
free items into the list and those that get free items by using the
Michael/Scott queue algorithm that has two locks.
2003-11-05 10:32:21 +00:00
..
atm Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
bluetooth Update Bluetooth code. 2003-10-12 22:04:24 +00:00
netgraph.h Don't use "NULL" when "0" is really meant. 2002-08-22 00:30:03 +00:00
ng_async.c Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_async.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_base.c Replace the lock-less algorithm for the free item list with a more 2003-11-05 10:32:21 +00:00
ng_bpf.c Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_bpf.h Declare a variable sized array within a structure using [] rather than [0] 2002-06-01 20:40:05 +00:00
ng_bridge.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ng_bridge.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_cisco.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_cisco.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_device.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
ng_device.h A node that creates a device entry in /dev (yay devfs) 2002-06-18 21:32:33 +00:00
ng_echo.c
ng_echo.h
ng_eiface.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ng_eiface.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_etf.c Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_etf.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_ether.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ng_ether.h
ng_fec.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ng_fec.h Finally get around to committing Bill Paul's FEC netgraph nodes. 2002-10-29 19:12:44 +00:00
ng_frame_relay.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_frame_relay.h
ng_gif_demux.c Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
ng_gif_demux.h Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
ng_gif.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ng_gif.h
ng_hole.c
ng_hole.h
ng_iface.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ng_iface.h Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
ng_ip_input.c Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
ng_ip_input.h
ng_ksocket.c Add Protocol Independent Multicast protocol. 2003-08-20 22:11:58 +00:00
ng_ksocket.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_l2tp.c Don't use ovbcopy(). 2003-04-04 12:12:34 +00:00
ng_l2tp.h New L2TP netgraph node type. 2002-08-20 21:59:50 +00:00
ng_lmi.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_lmi.h
ng_message.h Remove a gcc-ism: declaring a variable array at the end of a structure 2003-10-22 07:35:05 +00:00
ng_mppc.c Take the rc4 code out of ng_mppc module so we don't fail to load when 2003-02-05 19:11:11 +00:00
ng_mppc.h
ng_one2many.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_one2many.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_parse.c Use intptr_t to fix various sizeof(int) != sizeof(void *) warnings. 2002-11-08 21:13:18 +00:00
ng_parse.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_ppp.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
ng_ppp.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_pppoe.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_pppoe.h use __packed. 2002-09-23 18:54:32 +00:00
ng_pptpgre.c Don't use ovbcopy(). 2003-04-04 12:12:34 +00:00
ng_pptpgre.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_rfc1490.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_rfc1490.h
ng_sample.c Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_sample.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_socket.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_socket.h
ng_socketvar.h
ng_source.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_source.h Add the netgraph 'source' module. 2002-10-31 23:03:09 +00:00
ng_split.c
ng_split.h
ng_tee.c Allow the caller to get an erro direclty if we sent the packet immediatly. 2003-07-03 22:09:47 +00:00
ng_tee.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
ng_tty.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_tty.h
ng_UI.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_UI.h
ng_vjc.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ng_vjc.h Fix GCC warnings caused by initializing a zero length array. In the process, 2002-05-31 23:48:03 +00:00
NOTES