* re your change to the low_latency flag in the hso driver in 2.6.29-rc1
@ 2009-01-12 17:23 Denis Joseph Barrow
[not found] ` <496B7CA9.6080403-x9gZzRpC1QbQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Denis Joseph Barrow @ 2009-01-12 17:23 UTC (permalink / raw)
To: Alan Cox
Cc: Linux USB kernel mailing list, Linux netdev Mailing list,
Paul Hardwick
Hi Alan,
I remember removing the low_latency flag to 0 once & if I recall correctly performance
was severely impacted & there may have been other problems which I don't recall.
even worse I believe the code can now hang the kernel, the fix is simple, in
put_rxbuf_data I'm dependent on the TTY_THROTTLED bit to exit the loop.
Now tty_insert_flip_string can return 0 bytes leading to an infinite loop if tty buffers are full,
as write_length_remaining never goes to zero as I am dependent on the line
discipline being called from tty_flip_buffer_push to set TTY_THROTTLED by calling flush_to_ldisc
checking if curr_write_len=0 from tty_insert_flip_string might fix the problem
Please look at put_rxbuf_data carefully, there might be other gremlins. The serial port
is supposed to be high performance this fix will impact this
--
best regards,
D.J. Barrow
Linux Kernel Developer
Option NV, Gaston Geenslaan 14, 3001 Leuven, Belgium
T: +32 16 311 621
F: +32 16 207 164
d.barow@option•com
www.option.com
Disclaimer:
http://www.option.com/company/disclaimer.shtml
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: re your change to the low_latency flag in the hso driver in 2.6.29-rc1
[not found] ` <496B7CA9.6080403-x9gZzRpC1QbQT0dZR+AlfA@public.gmane.org>
@ 2009-01-12 17:45 ` Alan Cox
0 siblings, 0 replies; 2+ messages in thread
From: Alan Cox @ 2009-01-12 17:45 UTC (permalink / raw)
To: Denis Joseph Barrow
Cc: Linux USB kernel mailing list, Linux netdev Mailing list,
Paul Hardwick
> I remember removing the low_latency flag to 0 once & if I recall correctly performance
> was severely impacted & there may have been other problems which I don't recall.
The modern buffering and old buffering are rather different so that
shouldn't be a problem.
> Now tty_insert_flip_string can return 0 bytes leading to an infinite loop if tty buffers are full,
> as write_length_remaining never goes to zero as I am dependent on the line
> discipline being called from tty_flip_buffer_push to set TTY_THROTTLED by calling flush_to_ldisc
In all cases tty_insert_flip_string may return 0 for other reasons (eg
out of memory).
> checking if curr_write_len=0 from tty_insert_flip_string might fix the problem
> Please look at put_rxbuf_data carefully, there might be other gremlins. The serial port
> is supposed to be high performance this fix will impact this
Will do, but it should have no impact at all on throughput - in fact it
ought to improve it. You can't call tty_flip_buffer_push() from an
IRQ handler with tty->low_latency set anyway...
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public•gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-01-12 17:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-12 17:23 re your change to the low_latency flag in the hso driver in 2.6.29-rc1 Denis Joseph Barrow
[not found] ` <496B7CA9.6080403-x9gZzRpC1QbQT0dZR+AlfA@public.gmane.org>
2009-01-12 17:45 ` Alan Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox