A computing system for dynamically allocating communication lanes for a plurality of I/O adapter sockets in a point-to-point, serial I/O expansion subsystem of the computing system, the point-to-point, serial I/O expansion subsystem including an expansion subsystem switch that supports a maximum number of enabled communication lanes, each I/O adapter socket having a same form factor, each I/O adapter socket connected to the expansion subsystem switch using a same predefined number of communication lanes, the computing system comprising a processor and a computer memory operatively coupled to the processor, the computer memory having disposed within it computer program instructions capable of:
- identifying, by a lane configuration module during a boot process for the computing system, each of the I/O adapter sockets in which an I/O adapter is installed;
- determining, by the lane configuration module for each installed I/O adapter, a maximum link width for that I/O adapter;
- and
- enabling, by the lane configuration module for each of the I/O adapter sockets in which an I/O adapter is installed, a set of communication lanes for communications between the I/O adapter installed in that I/O adapter socket and the expansion subsystem switch in dependence upon the maximum link width for each I/O adapter and the maximum number of enabled communication lanes supported by the expansion subsystem switch.