Unit number allocation API

From: Poul-Henning Kamp <phk_at_critter.freebsd.dk>
Date: Thu, 30 Sep 2004 09:06:47 +0200
I had this one out on arch_at_ 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
Received on Thu Sep 30 2004 - 05:06:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:14 UTC