thorpej
e1315a2447
Make this compile with POOL_DIAGNOSTIC, and add a POOL_LOGSIZE option.
...
Defopt these.
1998-12-27 21:13:43 +00:00
briggs
4a01b776e5
Prototype pool_print() and pool_chk() if DEBUG.
...
Initialize pool hash table with PR_HASHTABSIZE (i.e., 8) LIST_INIT()s
instead of one memset().
Only check for page != ph->ph_page if PR_PHINPAGE is set (in pool_chk()).
Print pool base pointer when reporting page inconsistency in pool_chk().
1998-12-16 04:28:23 +00:00
pk
25e37f3b97
In addition to the spinlock, use the lockmgr() to serialize access to
...
the back-end page allocator. This allows the back-end to sleep since we
now relinquish the spin lock after acquiring the long-term lock.
1998-09-29 18:09:29 +00:00
thorpej
c0dd0b8353
Make sure the size is large enough to hold a pool_item.
1998-09-22 03:01:29 +00:00
christos
34c5a58bb4
Make copyrights consistent; fix weird/trailing spaces add missing (c) etc.
1998-09-12 17:20:02 +00:00
thorpej
f1f6ec6afe
Add an alternate pool page allocator that can be used if the pool is
...
never accessed in interrupt context. In the UVM case, this uses the
kernel_map, to reduce usage of the previous kmem_map resource.
1998-08-28 21:18:37 +00:00
thorpej
77d0a69569
Add a waitok boolean argument to the VM system's pool page allocator backend.
1998-08-28 20:05:48 +00:00
eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +00:00
perry
275d1554aa
Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
...
bcopy(x, y, z) -> memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
bcmp(x, y, z) -> memcmp(x, y, z)
bzero(x, y) -> memset(x, 0, y)
1998-08-04 04:03:10 +00:00
thorpej
85b7cfc8c3
Make sure we initialize pr_nidle.
1998-08-02 19:07:47 +00:00
thorpej
6f739e1a66
Fix a braino in the idle page instrumentation.
1998-08-02 04:34:46 +00:00
thorpej
7c61b8cdd8
Instrument "idle pages" (i.e. pages which have no items allocated from
...
them, and could thus be freed back to the system).
1998-08-01 23:44:20 +00:00
thorpej
fe7696eacb
Un-static pool_head; vmstat wants to find it.
1998-07-31 21:55:09 +00:00
thorpej
fc4828b0b4
A few small changes to how pool pages are allocated/freed:
...
- If either an alloc or release function is provided, make sure both are
provided, otherwise panic, as this is a fatal error.
- If using the default allocator, default the pool pagesz to PAGE_SIZE,
since that is the granularity of the default allocator's mechanism.
- In the default allocator, use new functions:
uvm_km_alloc_poolpage()/uvm_km_free_poolpage(), or
kmem_alloc_poolpage()/kmem_free_poolpage()
rather than doing it here. These functions may use pmap hooks to
provide alternate methods of mapping pool pages.
1998-07-24 20:19:23 +00:00
pk
e32923a128
Re-vamped pool manager.
...
* support for customized memory supplier
* automatic page reclaim by VM system
* time-based hysteresis
* cache coloring (after Bonwick's "slabs")
1998-07-23 20:34:00 +00:00
pk
201f7cf6b4
Add option to use "static" storage provided by the caller.
...
From Matthias Drochner.
1998-02-19 23:51:48 +00:00
pk
327c0046f9
Memory pool resource utility.
1997-12-15 11:14:57 +00:00