Re: How important is it that tty_write_room doesn't lie?

From: Ted Ts'o
Date: Wed Feb 23 2011 - 17:57:34 EST


On Wed, Feb 23, 2011 at 02:48:18PM -0600, Timur Tabi wrote:
> 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?

When you are supporting a large bank of modems? A number of the
serial cards were originally created to support 32, 64, 128 serial
ports per PCI board, specifically to drive modems, in the bad old days
of modems. :-)

And I suspect many modern serial devices are just 8250/16550A based,
so they get the console and userspace serial for free. A large number
of the more exotic boards were created because the 16550A uart isn't
ideal if you are driving vast number of modems at the same time.

> 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.

Wow, the FIFO has gotten a lot larger than I ever remember them
getting even when people were doing 460kbps. I'm guessing this is
because you're trying to defer interrupts for power saving reasons,
yes? I was used to seeing FIFO sizes more in the 32-128 bytes, tops. :-)

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/