If we're talking about utilizing multiple channel paths to devices, multipath I/O has been around for ages in the 390 world -- at least 10 years that I can remember, and even earlier with the primary/alternate control unit support (max 2 paths for that far back). It really got practical with the XA I/O architecture when all the gory detail information about paths got moved down into the IOCP layer and the OS no longer had to deal with it directly.
There are several layers in the 390 I/O subsystem: devices control units channel paths device numbers The relationship of the first 3 items is handled by the IOCP definitions in the processor element. IOCP describes what devices are connected to what control units, and what channel paths are connected to each control unit. Those combinations are assigned unique device numbers, which is the only thing an operating system sees as devices that it can do I/Os against -- IOCP hides all the details of how the cabling is set up and managed. So, by virtue of using the XA I/O subsystem on the 390, Linux gets multipath I/O for free -- it's "just there". (BTW, a ESS with 16 channel paths is a *very* fun toy. Linux works very nicely...8-)) -- db David Boyes Sine Nomine Associates
