Messages in this thread | | | Date | Wed, 23 Feb 2011 14:48:18 -0600 | From | Timur Tabi <> | Subject | Re: How important is it that tty_write_room doesn't lie? |
| |
Greg KH wrote: > I think that people don't normally hit this as the console code isn't > used as a tty and a console at the same time, right?
That's another thing I never understood. It's rare for a driver to support both the console and tty layers. The serial core driver does that, but I can't find any other examples. I would think that a driver would support both interfaces, because both are needed. Simplistically, printk --> console, and printf --> tty. When would ever want user-space support but not kernel support?
> How big is your buffer in your FIFO?
The FIFO can vary, but it's probably at least 2KB it size. At least, we hope to able to set it to that size in the field. Currently, we set it to 4KB.
> Can you always just say you have a > smaller ammount in order to try to work around the tty layer trying to > send you a few extra bytes at times?
How many bytes extra? I don't even have any hard evidence that this is actually happening, but a customer is reporting lost characters and this the only thing we could come up with.
The serial drivers seem to have a software FIFO for the TTY interface, but none for the console interface. uart_write() puts the data into an internal circular buffer, and then calls uart_start(). serial8250_console_write(), however, writes directly to the hardware. Is this what I should be doing?
-- Timur Tabi Linux kernel developer at Freescale
| |