Messages in this thread | | | Date | Mon, 6 Aug 2007 20:50:07 +0400 | From | Oleg Nesterov <> | Subject | Re: [PATCH] RT: Add priority-queuing and priority-inheritance to workqueue infrastructure |
| |
On 08/06, Gregory Haskins wrote: > > On Mon, 2007-08-06 at 19:36 +0400, Oleg Nesterov wrote: > > > > E.g. whatever work was being flushed was allowed to escape > > > out from behind the barrier. If you don't care about the flush working, > > > why do it at all? > > > > The caller of flush_workueue() doesn't necessary know we have such a work > > on list. It just wants to flush its own works. > > I was assuming that the work being flushed was submitted by the same > context, but I think I see what you are saying now. Essentially if that > queued work was unrelated to the thread that was doing the flush, it > doesn't care if it gets rescheduled.
Yes.
> Do you agree that if the context was the same there is a bug? Or did I > miss something else?
Yes sure. We can't expect we can "flush" work_struct with flush_workqueue() unless we know it doesn't re-schedule itself.
OTOH, it is not the bug to call flush_workqueue() even if that work was queued by us, it should complete.
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/
| |