Yeah, I guess I wasn't using correct terminology. By deadlock I meant the X server appears to be waiting for a resource and becomes dead because it never gets it.
I also assumed that X is multithreaded. It seems to me if it wants to interact with multiple clients connected on Unix domain sockets and over TCP and be interactive with all of them, while also driving a high bandwidth video display, it needs to accept() connections in one thread and process incoming events on another several threads. But I guess it could also use select() or poll() to service all events and accept new connections in a giant while loop.
Either way, in this case I don't believe X is livelocking itself or another process. It only spins on 1 processor, implying only 1 thread. However, it could be in a spinlock waiting for, say, an irq or some other resource to change status.
So my new prognosis is that 4363 is not playing nice with some hardware on my system, but 3123 does play nice with it. So I'll try disabling acpi and see what happens.