When the kernel performs a superpage promotion or demotion it needs to
leave the page tables in a state such that another CPU may fault. This
is handled by locking the pmap and checking if the translation still
faults, however this can lead to a panic when the thread accessing one
of these pages is unable to sleep.
As the break-before-make sequence used by the promotion and demotion
code is short and has disabled interrupts it is likely to have completed
before the kernel enters pmap_fault, and in such a case we don't need to
hold the pmap lock.