Andrew> If someone wants to synchronise with the workqueue system
Andrew> they should cancel any delayed work which they own (via
Andrew> cancel_scheduled_work) and then wait on any
Andrew> currently-queued works via flush_scheduled_work().
Andrew> So flush_scheduled_work() only needs to care about
Andrew> currently-queued works, not the ones which are pending a
Andrew> timer event.
Andrew> And flush_scheduled_work() needs to be taught to not lock
Andrew> up if someone keeps re-adding work.
Ah, I see... your patch that added insert_sequence and remove_sequence
was intended to apply on top of the patch that adds
cancel_delayed_work().
Please ignore the reply to your patch that I just sent, I
misunderstood what you were trying to do.
Shawn, I think if you add Andrew's most recent patch on top of what
you were running with, your problem should probably be fixed.
Sorry for the extra noise.
- Roland
-
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/