Re: [PATCH] Use tty_schedule in VT code.

James Simmons
2007-07-18T17:20:19Z

> James Simmons wrote:
> > 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.
>
> The generic serial driver (8250) is the one that was
> dead locking when that code originally existed.
> It was setting low_latency and calling from interrupt context.

serial8250_interrupt -> serial8250_handle_port ->
receive_chars -> tty_flip_buffer_push

It could still dead lock. The low_latency flag is too weak of a test.
I patched tty_flip_buffer_push to fix this.

> > > And the initial schedule has no reason to add the extra delay.
> >
> > So do you support a non delay work queue as well?
>
> No, the delay work must be used for flush_to_ldisc()
> so it makes no sense to define two different work queues
> (one delayed and one not) for the same work.

Sorry I mean move to a just a non delay work queue only.
Which we won't anyways.

> I support your patch.

> The current stuff works and your patch works.
> With your patch, you actually reduce initial
> latency for processing receive data.

Thanks.