On Mon, Mar 04, 2013 at 02:43:47PM -0500, Richard Hansen wrote: > Hi all, > > I believe I have found a bug in the pagedaemon (uvm_pageout() in > src/sys/uvm/uvm_pdaemon.c) that causes the system to freeze when the > kmem_arena runs low (<10% free): > > 1. line 254: uvm_km_va_starved_p() returns true > 2. line 258: the !kmem_va_starved condition prevents the pagedaemon > from sleeping > 3. lines 330--346: no memory is freed -- it's all still in use > 4. go to step #1
I've seen this too. One underlying issue is that the callbacks called to free memory (e.g. reclaim from pool caches or buffer/vnode caches) do care about physical memory but not about kernel virtual memory. This should probably be fixed. -- Manuel Bouyer <[email protected]> NetBSD: 26 ans d'experience feront toujours la difference --
