cvs commit: src/sys/netgraph ng_base.c
harti at FreeBSD.org
Wed Nov 5 02:32:22 PST 2003
harti 2003/11/05 02:32:21 PST
FreeBSD src repository
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.
Revision Changes Path
1.71 +36 -64 src/sys/netgraph/ng_base.c
More information about the cvs-all