Messages in this thread | | | Date | Thu, 19 Apr 2007 13:07:11 -0400 | From | Chuck Ebbert <> | Subject | Re: [PATCH -mm] workqueue: debug possible endless loop in cancel_rearming_delayed_work |
| |
Jarek Poplawski wrote: > Hi, > > IMHO cancel_rearming_delayed_work is dangerous place: > > - it assumes a work function always rearms (with no exception), > which probably isn't explained enough now (but anyway should > be checked in such loops); > > - probably possible (theoretical) scenario: a few work > functions rearm themselves with very short, equal times; > before flush_workqueue ends, their timers are already > fired, so cancel_delayed_work has nothing to do. > > Maybe this patch could check, if I'm not dreaming... > > PS: of course the counter value below is a question of taste
Okay, an easy test for it: insmod netconsole ; rmmod netconsole
In 2.6.20.x it loops forever and cancel_rearming_delayed_work() is part of the trace...
- 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/
| |