On 06/02, Mark Hounschell wrote: > > Jun 2 16:36:11 harley kernel: ERR!! events/1 flush hang: c201dbc0 > c201dbc0 10012 10012 > Jun 2 16:36:11 harley kernel: CURR: 7974 7974 vrsx 93 26 > Jun 2 16:36:11 harley kernel: wq_barrier_func+0x0/0x8 > Jun 2 16:36:11 harley kernel: vmstat_update+0x0/0x24 > Jun 2 16:36:11 harley kernel: ---- > Jun 2 16:36:11 harley kernel: cache_reap+0x0/0xf4
As expected. Note that ->nivcsw/->nvcsw doesn't change. There is no "spare time" on CPU 1, "vrsx" monopolizes CPU. events/1->cache_reap() was preempted by vrsx, it had no chance to run since then. Note that jobs == 7974 doesn't change too. I forgot to print cwq->thread->state, but it should be TASK_RUNNING. It would not be possible to kill vrsx if cache_reap() stalled. I don't think this is a kernel problem, vrsx breaks flush_workqueue(). Ingo can answer authoritatively, but I think SCHED_RR/SCHED_FIFO were not designed to be 100% cpu-bound. That said, I think it makes sense to get rid of flush_scheduled_work() in floppy.c. 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/