lkml.org 
[lkml]   [2007]   [Jun]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 3 Jun 2007 12:14:17 +0400
FromOleg Nesterov <>
SubjectRe: floppy.c soft lockup
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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-06-03 08:17    [from the cache]
©2003-2008