Re: [PATCH 0/3] Increase the number of USB to serial devices we cansupport at once

From: Tobias Winter
Date: Thu Jun 06 2013 - 12:24:39 EST


On 06.06.2013 17:21, Greg KH wrote:
> On Thu, Jun 06, 2013 at 11:01:12AM -0400, Dave Jones wrote:
>> On Wed, Jun 05, 2013 at 10:54:26AM -0700, Greg KH wrote:
>> > These patches make the USB to serial core have the ability to support up
>> > to 3000 devices at once now.
>>
>> I'm curious how this works. What systems have 3000 usb ports ?
Surely no one thought that a system could have 255 devices of that sort
~15 years ago. Isn't the idea always to support more that what is possible?
>> Or are there some kind of multiplexer devices out there ?
>> (If so, I'd like a link, I could use one of those).
>
> You don't need a multiplexer, you can have a bunch of different USB root
> hubs in PCI slots, with USB hubs plugged into them, and lots of
> multi-port USB devices connected to them. Tobias has such a system with
> 272 single-port USB to serial devices connected, so it's not impossible
> to create.
Correct. Since you can only have 127 devices on a single USB root-hub,
the trick is to spread the devices over many root-hubs. Most mainboards
already come with 3-5 root-hubs on-board and you of course can expand
that via pci/pcie cards, but be warned, for reasons beyond my
imagination, the XHCI specification lets the root-hub vendor decice on
how many devices it can support, so you could end up having XHCI
root-hubs that support lets say 20 devices.

> In thinking about it some more, I'll change that number to 500 for now,
> as it's a static array within the tty layer, and then work on making
> that dynamic so we don't have any limitations other than the number of
> minor numbers for a single major.
I also thought about it and I'd say 512 devices is about as high as I
would go in any real-world application, otherwise the fallout of a
broken system is slowly getting to big, depending on what you do over
the serial ports. Also 512 is a nice number. ;)

Tobias

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