Re: Insanely high baud rates

From: Willy Tarreau
Date: Tue Oct 09 2018 - 15:51:51 EST


On Tue, Oct 09, 2018 at 12:19:04PM -0700, H. Peter Anvin wrote:
> [Resending to a wider audience]
>
> In trying to get the termios2 interface actually implemented in glibc,
> the question came up if we will ever care about baud rates in excess of
> 4 Gbps, even in the relatively remote future.
>
> If this is something we care about *at all*, I would like to suggest
> that rather than defining yet another kernel interface, we steal some
> bits from the MSB of the speed fields, alternatively one of the c_cc
> bytes (all likearchitectures seem to have c_cc[18] free) or some field,
> if we can find them, in c_cflags, to indicate an exponent.
>
> With 5 bits from the top of the speed fields, the current values would
> be identical up to 248 Gbps, and values up to ~288 Pbps would be
> encodable ±2 ppb.
>
> In the short term, all we would have to do in the kernel would be
> erroring out on baud rates higher than 0x0fffffff (2^28-1 due to
> implicit one aliasing rhe first bit of a 5-bit exponent - less than 2^27
> are functionally denorms.) However, I'd like to put the glibc
> infrastructure for this now if this is something we may ever be
> interested in.
>
> Thoughts?

Just my two cents, maybe we can conclude that for now we don't care
thus don't implement anything, but that everything you identified as
a possible place to steal bits should be marked "reserved for future
use, must be sent as zero". This will leave you ample room later to
decide how to proceed (and maybe it will not be the bps that you'll
want to change but the number of lanes, or word size, or bit encoding,
especially at 4 Gbps).

Regards,
Willy