Re: Overrun of received data with CDC-ACM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 15 sep 2009, at 18:27, Alan Cox wrote:
It would be easy for example to tweak tty_buffer to call a
second throttle method on the hardware side when the buffer is getting a
bit full.

Yes. In the case of CDC-ACM, the hardware driver could throttle itself as soon as tty_buffer_request_room fails. But support from tty_buffer is needed to unthrottle the driver when the buffer has room again.

Unless someone has a better idea, I will try to implement this and see where it gets me.

We would expect the queue to get run within 1/100th of a second so that
gives us 8Mbit/sec of buffering headroom.

Just what rate is your device running ?

High speed USB = ~ 40 MByte/s.
There is no actual communication line involved. I use CDC-ACM as just a convenient interface to pump data.

True, the serial layer was never designed for this kind of abuse. On the other hand, file descriptors were not originally designed for networking. Making the serial layer robust for high transfer rates would be a step forward, I think.

BTW, I guess a similar situation is behind "Bug 14163" reported recently on this list.

Joris.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux