This means the bottom-half handler (softirq) isn't running - something is
looping in the kernel, or it is stuck in one of the handlers, or someone
has called start_bh_atomic() and is sleeping/looping holding the
lock-counter.
Rik, would you mind getting some info for me?
Before making your system lock, kill off syslogd and klogd. This should
ensure messages get sent to the console where you can see them (with a
system lock they won't get to disk).
Then 'lock' your system, and use sysrq to get a register dump (sysrq+p)
and a dump of task info (sysrq+t). The register dump is the more useful
one, espically if you can get several of them. The value of interest is
EIP (the value is square brackets). Matching the values of EIP to those
in System.map should show where the system is looping - or maybe it is
just sitting there idling (which I think is what you will find).
Regards,
markhe