On 05/18, Zilvinas Valinskas wrote: > > On Thu, 2007-05-17 at 22:45 +0400, Oleg Nesterov wrote: > > > > However, I can't understand why cleanup_workqueue_thread() hangs anyway. > > It shouldn't. Looks like rpciod/1 was preempted, and can't get CPU. > > According > > to kernel-nfs-freeze.log it is TASK_RUNNING. Strange. > > > > It is very sad, because this code was supposed to be cleanuped anyway, > > but if it is really buggy, it would be great to know why. > > Can this be related to : > > CONFIG_PREEMPT=y
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. > workqueue.objdump - without any patch. 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=117939027602591 http://marc.info/?l=linux-kernel&m=117939257630947 which probaly need some attention. Thanks! Oleg. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/