Note that any "ugh" is really a bug, even if it happens on UP. The SMP
code _should_ work fine on UP modulo bugs (and some hardware
incompatibilities: the SMP code may expect a Pentium or better, for
example, and it also expects the BIOS to report correct SMP status
information even if the machine only has one CPU).
Getting a "ugh" in do_page_fault indicates that somebody does a copy
to/from user space with interrupts disabled. That is a _bug_.
I suspect it is some specific subsystem that does this, because I've
never seen it myself. It would be good if people who see this try to
notice what they tend to be doing when it happens, so that we might be
able to find out exactly _what_ it is that tries to take a page fault
with interrupts disabled..
Linus