NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/45718: processes sometimes get stuck and spin in vm_map
The following reply was made to PR kern/45718; it has been noted by GNATS.
From: Taylor R Campbell <campbell+netbsd%mumble.net@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/45718: processes sometimes get stuck and spin in vm_map
Date: Sun, 9 Dec 2012 07:25:25 +0000
Date: Sun, 9 Dec 2012 06:13:43 +0000
From: Taylor R Campbell <campbell+netbsd%mumble.net@localhost>
- Examintion of kernel_map itself reveals that UVM_MAP_WANTVA is
persistently flagged.
So it looks like something freed up kva, but failed to signal to the
waiters that the kva was freed up.
Manually clearing UVM_MAP_WANTVA in kernel_map->flags by writing to
/dev/kmem failed to unwedge the processes that were wedged in vm_map,
so there goes that hypothesis.
- I can still exec new processes, so the problem is *not* simply kva
exhaustion causing the uvm_km_alloc in exec_pool_alloc to hang
indefinitely waiting for kva -- all the requests for kva are for the
same size, so if I can make new requests, the old ones should be
serviceable too.
This analysis was a little too simple-minded. It may be that most new
execs are serviced by exec_pool without going through exec_pool_alloc,
but every one that does go through exec_pool_alloc gets wedged in.
Home |
Main Index |
Thread Index |
Old Index