The customer faced with a_lock time out panic.
The problem was identified as holding a simple lock while preempting a thread. 
The thread holding the lock is getting preempted and other threads waiting for 
the lock are getting panic.

The solution is to release the lock before preemption and take it once again 
after coming back.

panic: a_lock timeout 

The thread that panics

0 stop_secondary_cpu   src/kernel/arch/alpha/cpu.c : 1416
    1 panic                src/kernel/bsd/subr_prf.c : 1509
    2 event_timeout        src/kernel/arch/alpha/cpu.c : 2430
    3 printf               src/kernel/bsd/subr_prf.c : 1018
    4 panic                src/kernel/bsd/subr_prf.c : 1566
    5 _a_lock_wait         src/kernel/arch/alpha/lockprim.s : 2824
    6 u_anon_fault         src/kernel/vm/u_mape_anon.c : 2117
    7 u_map_fault          src/kernel/vm/vm_umap.c : 1244
    8 vm_fault             src/kernel/vm/vm_fault.c : 202
    9 trap                 src/kernel/arch/alpha/trap.c : 2352
   10 _XentMM              src/kernel/arch/alpha/locore.s : 2242

The thread that is holding lock

0 thread_block         src/kernel/kern/sched_prim.c : 3317
    1 thread_preempt       src/kernel/kern/sched_prim.c : 5206
    2 pmap_remove          src/kernel/arch/alpha/pmap.c : 4142
    3 anon_cow_fault       src/kernel/vm/u_mape_anon.c : 2252
    4 u_anon_fault_page    src/kernel/vm/u_mape_anon.c : 2718
    5 u_anon_fault         src/kernel/vm/u_mape_anon.c : 2055
    6 u_map_fault          src/kernel/vm/vm_umap.c : 1244
    7 vm_fault             src/kernel/vm/vm_fault.c : 202
    8 trap                 src/kernel/arch/alpha/trap.c : 2352
    9 _XentMM              src/kernel/arch/alpha/locore.s : 2242

