Re: [PATCH] RT: Add priority-queuing and priority-inheritance to workqueue infrastructure

Oleg Nesterov
2007-08-06T15:36:07Z

On 08/06, Gregory Haskins wrote:
>
> On Mon, 2007-08-06 at 18:45 +0400, Oleg Nesterov wrote:
> > On 08/06, Peter Zijlstra wrote:
>
> > >
> > > still this does not change the fundamental issue of a high prio piece of
> > > work waiting on a lower prio task.
> > ^^^^^^^
> > waiting. This is a "key" word, and this was my (perhaps wrong) point.
>
> Actually, I think Peter is making a really important point here.

Yes. Please see another email I just sent.

> "Waiting" can be defined in more ways than the REQUEST/RESPONSE pattern
> that I have been rambling about.
>
> Using Peters NIC vs USB example: What if a NIC driver is using a
> workqueue as a bottom-half mechanism for its RX packet queuing. In a
> nice RT environment it would be highly ideal if we allow the deferred
> work to complete with respect to the priority that was assigned to the
> subsystem.
>
> So while the submitter isn't technically blocking on the work, the
> application that is receiving packets is now subject to the arbitrary
> priority of the keventd as opposed to the NIC irq. Thus there is still
> "waiting" being subject to inversion, its just not in a REQUEST/RESPONSE
> pattern.

Oleg.