Re: [PATCH] Add possibility to set /dev/tty number

From: Austin S. Hemmelgarn
Date: Mon Jan 04 2016 - 11:57:53 EST


On 2016-01-04 10:43, Greg KH wrote:
On Mon, Jan 04, 2016 at 04:34:56PM +0100, Pierre Paul MINGOT wrote:
Hello,

In Linux there is no way to set the number of tty devices or console
to create. By default the kernel create 64 /dev/tty devices. what is
too much for embedded system with limited resources.

Really? How much memory does a vt device take up?
On a device with a simple text mode console in 80x25, a minimum of 2000 bytes, not including anything used for character attributes, and anything else needed for the display and updating of the screen (I think I worked out once that it comes out to about 8k). On my laptop which has a 1920x1080 screen, using the standard 8x16 VGA font with a framebuffer console via i915, I get a 200x67 terminal size, which means that just the text without any attributes works out to a little more than 13k. That gets doubled just by adding color, and probably doubled again for the other display attributes. All of this also doesn't factor in the space taken up in devtmpfs and sysfs by the associated files (it's not much, but it's still wasted space).

That said, there are factors to consider other than just memory footprint:
1. Having 64 tty devices in /dev leads to somewhat cluttered listings (on most small systems I see, more than two thirds of the contents of /dev are tty device nodes).
2. Most people don't know how to switch to anything higher than about tty 15, a majority of people who have a graphical environment use at most 2 VT's, and a lot of embedded systems use a fixed number of VT's that is known prior to full production.
3. There is some very poorly designed software out there (at least the original version of ConsoleKit, and I'd be willing to bet some third-party vendor software) which unconditionally starts a thread or process for each VT in the system. While this software should be fixed to behave properly, it's infeasible for most end users to do this.

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