Subject: Re: deadlock in PowerPC VM system
To: Duncan Missimer <dmissimer@rhapsodynetworks.com>
From: Matt Thomas <matt@3am-software.com>
List: port-powerpc
Date: 12/05/2001 20:29:23
At 06:54 PM 12/5/2001 -0800, Duncan Missimer wrote:
>Anybody else seen this one?
>
>         sys__sysctl ->
>         kern_sysctl ->
>         sysctl_procargs ->
>         uvm_io -> # creates kernel mapping
>         uiomove ->
>         kcopy ->
>         bcopy ->
>         trap ->
>         uvm_fault ->  # acquires shared lock for kernel map
>         pmap_enter ->
>         pmap_enter_pv ->
>         pmap_alloc_pv ->  # but pv_nfree is 0, so.....
>         uvm_km_zalloc (== uvm_km_alloc1) ->
>         uvm_map ->
>         uvm_map_lock ->
>         lockmgr(kernel_map, LK_EXCLUSIVE # hangs forever waiting for above
>shared lock to go away
>
>         Note that the WEHOLDIT test under LK_EXCLUSIVE doesn't help because
>it is
>         impossible to identify the owner[s] of shared locks.
>
>Got any good ideas? I understand that the kernel is based on current as of
>7/17.

This will not happen with NEWPMAP since it's data
structures are not in the kernel map.  Make sure you
use -current source.


-- 
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Cupertino, CA             Disclaimer: I avow all knowledge of this message