public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* 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