Yes, but this preemption should be very unlikely, but it happens every time
for you, strange. lockd in turn spins with preemption enabled, but somehow
rpciod/1 can't make progress. system_state == SYSTEM_HALT, but this shouldn't
affect preempt_schedule_irq(). So I think there is something else.
So it hangs waiting for cwq->thread == NULL, as expected.
OK. I still can't see how this code could be wrong, but it is bad anyway and
should be changed. The 2nd patch was done more than a month ago, but was
delayed for some stupid reasons. I'll send it today.
Still, it is not clear to me what happens, and you have other crashes with
nfs stop/start
http://marc.info/?l=linux-kernel&m=117939027602591http://marc.info/?l=linux-kernel&m=117939257630947
which probaly need some attention.
Thanks!
Oleg.
-