d4d4e314e9
- Add support for hard limits, with optional rate-limited logging of a warning message when the pool limit is reached. (This will be used to fix a bug in mbuf cluster allocation on the MIPS and Alpha ports.) - Fix some locking protocol errors. This required splitting pr_flags into pr_flags (which is protected by the spin lock) and pr_roflags (which are `read only' flags, set when the pool is initialized, and never changed again; these do not need to be protected by a mutex). - Make the low water support actually mean something. When a low water mark is set, add free items to the pool until the low water mark is reached. When an item allocation causes the number of free items to drop below the low water mark, make the pool catch up to it. This can make the pool allocator more useful for several applications (e.g. pmap `pv entry' management) and more robust for others (for e.g. mbuf and mbuf cluster allocation, so that the pagedaemon can use NFS to clean pages on diskless systems without completely running dry on buffers to receive packets in during extreme memory shoratages). - Add a comment where we sleep waiting for more pages for the back-end page allocator. Specifically, instead of sleeping potentially forever, perhaps we should just wake up once a second to try allocating a page again. XXX Revisit this soon. |
||
---|---|---|
.. | ||
adosfs | ||
arch | ||
coda | ||
compat | ||
conf | ||
ddb | ||
dev | ||
filecorefs | ||
gdbscripts | ||
ipkdb | ||
isofs | ||
kern | ||
lib | ||
lkm | ||
miscfs | ||
msdosfs | ||
net | ||
netatalk | ||
netccitt | ||
netinet | ||
netiso | ||
netnatm | ||
netns | ||
nfs | ||
stand | ||
sys | ||
ufs | ||
uvm | ||
vm | ||
Makefile |