> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]