Unit number allocation API
Poul-Henning Kamp
phk at critter.freebsd.dk
Thu Sep 30 00:06:50 PDT 2004
I had this one out on arch@ previously. I'm very interested in informed
feedback on how we deal with locking for service api's like this.
Poul-Henning
phk 2004-09-30 07:04:03 UTC
FreeBSD src repository
Modified files:
sys/sys systm.h
sys/conf files
Added files:
sys/kern subr_unit.c
Log:
Add a new API for allocating unit number (-like) resources.
Allocation is always lowest free unit number.
A mixed range/bitmap strategy for maximum memory efficiency. In
the typical case where no unit numbers are freed total memory usage
is 56 bytes on i386.
malloc is called M_WAITOK but no locking is provided (yet). A bit of
experience will be necessary to determine the best strategy. Hopefully
a "caller provides locking" strategy can be maintained, but that may
require use of M_NOWAIT allocation and failure handling.
A userland test driver is included.
Revision Changes Path
1.955 +1 -0 src/sys/conf/files
1.1 +597 -0 src/sys/kern/subr_unit.c (new)
1.215 +8 -0 src/sys/sys/systm.h
------- End of Forwarded Message
More information about the freebsd-current
mailing list