#
a475eda4 |
| 24-Dec-2012 |
guenther <guenther@openbsd.org> |
Fix compilation with POOL_DEBUG but !DDB
ok jsing@ krw@ mikeb@
|
#
c8f535b7 |
| 23-Nov-2011 |
dlg <dlg@openbsd.org> |
block interrupts while pool_reclaim_all is grubbing around in every pools internals. this fixes a panic i got where a network interrupt tried to use the mbuf pools mutex while pool_reclaim_all alread
block interrupts while pool_reclaim_all is grubbing around in every pools internals. this fixes a panic i got where a network interrupt tried to use the mbuf pools mutex while pool_reclaim_all already held it which lead to the same cpu trying to lock that mutex twice.
ok deraadt@
show more ...
|
#
7f0374bb |
| 23-Sep-2011 |
dlg <dlg@openbsd.org> |
touching pr_nput and pr_nget outside the lock might be racy since ++ and -- arent necessarily atomic.
this is an update of a diff matthew@ posted to tech@ over a year ago.
|
#
645c633c |
| 23-Sep-2011 |
dlg <dlg@openbsd.org> |
ph = pool_get(&phpool, PR_NOWAIT) can return NULL, so dont unconditionally write to ph.
ok blambert@ matthew@ deraadt@
|
#
de976ac5 |
| 06-Jul-2011 |
tedu <tedu@openbsd.org> |
remove the predict_whatever stuffs. ok deraadt dlg henning
|
#
cb1450ab |
| 06-Jul-2011 |
tedu <tedu@openbsd.org> |
move a few accounting adjustments closer to removing the page, just to be safe. also, rmpage updates curpage, no need to do it twice. ok art deraadt guenther
|
#
a269d1c9 |
| 05-Jul-2011 |
tedu <tedu@openbsd.org> |
Remove a broken optimization found by the new pool_chk code. It leaves an empty page in curpage, and this inconsistency slowly spreads until finally one of the other pool checks freaks out. ok art d
Remove a broken optimization found by the new pool_chk code. It leaves an empty page in curpage, and this inconsistency slowly spreads until finally one of the other pool checks freaks out. ok art deraadt
show more ...
|
#
2022e1d0 |
| 05-Jul-2011 |
tedu <tedu@openbsd.org> |
when all you have is a hammer, make it a big one. add more checks to pool_chk and a pool_init flag to aggressively run pool_chk. ok art deraadt
|
#
803ae8aa |
| 18-Apr-2011 |
art <art@openbsd.org> |
Put back the change of pool and malloc into the new km_alloc(9) api. The problems during the hackathon were not caused by this (most likely).
prodded by deraadt@ and beck@
|
#
68b2d194 |
| 06-Apr-2011 |
art <art@openbsd.org> |
Backout the uvm_km_getpage -> km_alloc conversion. Weird things are happening and we aren't sure what's causing them.
shouted oks by many before I even built a kernel with the diff.
|
#
b6e36a9d |
| 05-Apr-2011 |
art <art@openbsd.org> |
- Change pool constraints to use kmem_pa_mode instead of uvm_constraint_range - Use km_alloc for all backend allocations in pools. - Use km_alloc for the emergmency kentry allocations in uvm_mapent
- Change pool constraints to use kmem_pa_mode instead of uvm_constraint_range - Use km_alloc for all backend allocations in pools. - Use km_alloc for the emergmency kentry allocations in uvm_mapent_alloc - Garbage collect uvm_km_getpage, uvm_km_getpage_pla and uvm_km_putpage
ariane@ ok
show more ...
|
#
db289ae7 |
| 04-Apr-2011 |
deraadt <deraadt@openbsd.org> |
sysctl kern.pool_debug=0 will disable POOL_DEBUG on the fly (still defaults to on, if POOL_DEBUG is compiled in, so that boot-time pool corruption can be found. When the sysctl is turned off, perfor
sysctl kern.pool_debug=0 will disable POOL_DEBUG on the fly (still defaults to on, if POOL_DEBUG is compiled in, so that boot-time pool corruption can be found. When the sysctl is turned off, performance is almost as as good as compiling with POOL_DEBUG compiled out. Not all pool page headers can be purged of the magic checks. performance tests by henning ok ariane kettenis mikeb
show more ...
|
#
205bb46d |
| 03-Apr-2011 |
ariane <ariane@openbsd.org> |
Helper functions for suspend.
Allow reclaiming pages from all pools. Allow zeroing all pages. Allocate the more equal pig.
mlarking@ needs this. Not called yet.
ok mlarkin@, theo@
|
#
4c350645 |
| 03-Nov-2010 |
mikeb <mikeb@openbsd.org> |
pool_sethardlimit should not imply pool_sethiwat; figured out with claudio
ok claudio tedu
|
#
1bba1af7 |
| 26-Sep-2010 |
tedu <tedu@openbsd.org> |
unify some pool and malloc flag values. the important bit is that all flags have real values, no 0 values anymore. ok deraadt kettenis krw matthew oga thib
|
#
f93b44b3 |
| 21-Sep-2010 |
matthew <matthew@openbsd.org> |
Add assertwaitok(9) to declare code paths that assume they can sleep. Currently only checks that we're not in an interrupt context, but will soon check that we're not holding any mutexes either.
Upd
Add assertwaitok(9) to declare code paths that assume they can sleep. Currently only checks that we're not in an interrupt context, but will soon check that we're not holding any mutexes either.
Update malloc(9) and pool(9) to use assertwaitok(9) as appropriate.
"i like it" art@, oga@, marco@; "i see no harm" deraadt@; too trivial for me to bother prying actual oks from people.
show more ...
|
#
c21a182b |
| 03-Jul-2010 |
tedu <tedu@openbsd.org> |
explicitly specify flags to malloc and pool_get instead of relying on 0. This is more clear, and as thib pointed out, the default in softraid was wrong. ok thib.
|
#
42096da3 |
| 02-Jul-2010 |
art <art@openbsd.org> |
add an align argument to uvm_km_kmemalloc_pla.
Use uvm_km_kmemalloc_pla with the dma constraint to allocate kernel stacks.
Yes, that means DMA is possible to kernel stacks, but only until we've fix
add an align argument to uvm_km_kmemalloc_pla.
Use uvm_km_kmemalloc_pla with the dma constraint to allocate kernel stacks.
Yes, that means DMA is possible to kernel stacks, but only until we've fixed all the scary drivers.
deraadt@ ok
show more ...
|
#
a072d974 |
| 29-Jun-2010 |
thib <thib@openbsd.org> |
Add a no_constraint uvm_constraint_range; use it in the pool code.
ok tedu@, beck@, oga@
|
#
b426ab7b |
| 27-Jun-2010 |
thib <thib@openbsd.org> |
uvm constraints. Add two mandatory MD symbols, uvm_md_constraints which contains the constraints for DMA/memory allocation for each architecture, and dma_constraints which contains the range of addre
uvm constraints. Add two mandatory MD symbols, uvm_md_constraints which contains the constraints for DMA/memory allocation for each architecture, and dma_constraints which contains the range of addresses that are dma accessable by the system.
This is based on ariane@'s physcontig diff, with lots of bugfixes and additions the following additions by my self:
Introduce a new function pool_set_constraints() which sets the address range for which we allocate pages for the pool from, this is now used for the mbuf/mbuf cluster pools to keep them dma accessible.
The !direct archs no longer stuff pages into the kernel object in uvm_km_getpage_pla but rather do a pmap_extract() in uvm_km_putpages.
Tested heavily by my self on i386, amd64 and sparc64. Some tests on alpha and SGI.
"commit it" beck, art, oga, deraadt "i like the diff" deraadt
show more ...
|
#
6a560b85 |
| 17-Jun-2010 |
miod <miod@openbsd.org> |
aligment -> alignment
|
#
daed6925 |
| 16-Jan-2010 |
tedu <tedu@openbsd.org> |
When allocating from the item header pool, we can't sleep, as we may be holding a mutex which won't be released. From Christian Ehrhardt. While here, fix another buglet: no need to pass down PR_ZERO
When allocating from the item header pool, we can't sleep, as we may be holding a mutex which won't be released. From Christian Ehrhardt. While here, fix another buglet: no need to pass down PR_ZERO either, as noticed by blambert@.
show more ...
|
#
93987e47 |
| 05-Sep-2009 |
thib <thib@openbsd.org> |
sync comment to reality, off-page page headers go into an RB tree, not into a hashtable.
|
#
60d432ee |
| 26-Aug-2009 |
thib <thib@openbsd.org> |
add commented out options for PAGEFASTRECYCLE, KVA_GUARDPAGES, shuffle VFSDEBUG around and add POOL_DEBUG as an enabled option, removing the define from subr_pool.c.
comments & ok deraadt@.
|
#
4c6830d6 |
| 13-Aug-2009 |
thib <thib@openbsd.org> |
add a show all vnodes command, use dlg's nice pool_walk() to accomplish this.
ok beck@, dlg@
|