Do not sleep in pmap_destroy, it may be called from mi_switch()
via pmap_activate().
Use mutex_tryenter to take the pmap queue lock and if this fail,
enqueue the pmap in a per-cpu list protected by splsched().
process this list when pmap_destroy can get the lock.
XXX implement a hook called from cpu_idle to process this list from
the idle loop ?