cvs commit: src/sys/conf files src/sys/sys sysid.h sysref.h sysref2.h syslink.h globaldata.h src/sys/kern kern_sysref.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Apr 28 18:31:51 PDT 2007
dillon 2007/04/28 18:29:33 PDT
DragonFly src repository
Modified files:
sys/conf files
sys/sys syslink.h globaldata.h
Added files:
sys/sys sysid.h sysref.h sysref2.h
sys/kern kern_sysref.c
Log:
Implement SYSREF - structural reference counting, allocation, and sysid
management subsystem.
* Structural reference count management, including creation and termination
sequencing (e.g. where the structure might be temporarily referenced
during termination).
* Allocation. It uses an objcache backend for optimal allocation,
deallocation, and memory recovery.
* Sysid assignment and red-black tree indexing. It does this in the
objcache CTOR and DTOR so it costs us absolutely nothing in the
resource allocation / deallocation critical path. sysids will be
reused unless they are externally accessed.
Revision Changes Path
1.159 +1 -0 src/sys/conf/files
1.8 +3 -25 src/sys/sys/syslink.h
1.46 +4 -2 src/sys/sys/globaldata.h
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.158&r2=1.159&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syslink.h.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/globaldata.h.diff?r1=1.45&r2=1.46&f=u
More information about the Commits
mailing list