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