Re: [PATCH] Use tty_schedule in VT code.

From: James Simmons
Date: Tue Jul 17 2007 - 16:15:40 EST



> James Simmons wrote:
> > Because sometimes you do want the delay. In other parts of the tty code we
> > do delay. What should be done is
>
> Correct, so we must stick with the delayed work structure
> which requires calling the delayed work function.
>
> > if (tty->low_latency)
> > flush_to_ldisc(&tty->buf.work.work);
> > else
> > schedule_delayed_work(&tty->buf.work, 1);
> >
> > Is this acceptable to you?
>
> That does not make sense to me.
>
> If you are calling from interrupt context, you do not want
> to call flush_to_ldisc() directly regardless of low_latency.
> This used to be the way it was done and it ended up causing
> deadlocks in just that situation.

The low_latency is used by the drivers in the case where its
not in a interrupt context. Well we are trusting the drivers.
Now if it is true what you said then tty_flip_buffer_push has
a bug. Looking at several drivers including serial devices
they set the low_latency flag.

> And the initial schedule has no reason to add the extra delay.

So do you support a non delay work queue as well?


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/