summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_unit.c
Commit message (Collapse)AuthorAgeFilesLines
* Correct double "the the"eadler2012-09-141-1/+1
| | | | | Approved by: cperciva MFC after: 3 days
* Fix typos - remove duplicate "the".brucec2011-02-211-2/+2
| | | | | | PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
* Remove redundant high >= 0.jh2010-07-091-1/+1
| | | | Reported by: rstone
* Assert that low and high are >= 0. The allocator doesn't support thejh2010-07-081-2/+2
| | | | negative range.
* Extend the kernel unit number allocator for allocating specific unitjh2010-07-051-13/+168
| | | | | | | | | | | numbers. This change adds a new function alloc_unr_specific() which returns the requested unit number if it is free. If the number is already allocated or out of the range, -1 is returned. Update alloc_unr(9) manual page accordingly and add a MLINK for alloc_unr_specific(9). Discussed on: freebsd-hackers
* Correct a comment typo.jh2010-06-271-1/+1
|
* - Fix compilation of the subr_unit.c user space test program.jh2010-06-171-3/+4
| | | | - Use %zu for size_t in a few format strings.
* Since cdev mutex is after system map mutex in global lock order, free()kib2007-07-041-1/+34
| | | | | | | | | | | | | | | | | | shall not be called while holding cdev mutex. devfs_inos unrhdr has cdev as mutex, thus creating this LOR situation. Postpone calling free() in kern/subr_unit.c:alloc_unr() and nested functions until the unrhdr mutex is dropped. Save the freed items on the ppfree list instead, and provide the clean_unrhdrl() and clean_unrhdr() functions to clean the list. Call clean_unrhdrl() after devfs_create() calls immediately before dropping cdev mutex. devfs_create() is the only user of the alloc_unrl() in the tree. Reviewed by: phk Tested by: Peter Holm LOR: 80 Approved by: re (kensmith)
* Add the witness warning for free_unr. Function could sleep, thus callerskib2007-06-191-0/+1
| | | | | | | shall not have any non-sleepable locks held. Submitted by: Hans Petter Selasky <hselasky c2i net> Approved by: re (kensmith)
* Remove debugging printfs.phk2005-03-141-8/+3
|
* Reengineer subr_unitphk2005-03-081-287/+511
| | | | | | | | | | | | | | | Add support for passing in a mutex. If NULL is passed a global subr_unit mutex is used. Add alloc_unrl() which expects the mutex to be held. Allocating a unit will never sleep as it does not need to allocate memory. Cut possible range in half so we can use -1 to mean "out of number". Collapse first and last runs into the head by means of counters. This saves memory in the common case(s).
* Add placeholder mutex argument to new_unrhdr().phk2005-03-071-2/+2
|
* /* -> /*- for copyright notices, minor format tweaks as necessaryimp2005-01-061-2/+3
|
* Add delete_unrhdr() function.phk2004-10-251-2/+19
| | | | It will fail fatally if all allocated numbers have not been returned first.
* Fix a typo to fix the !DIAGNOSTIC build.jhb2004-09-301-1/+1
| | | | Submitted by: many
* Add a new API for allocating unit number (-like) resources.phk2004-09-301-0/+597
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.
OpenPOWER on IntegriCloud