On 12/6/18 12:11 PM, Logan Gunthorpe wrote: >> My concern with having folks do per-program parsing, *and* having a huge >> amount of data to parse makes it unusable. The largest systems will >> literally have hundreds of thousands of objects in /sysfs, even in a >> single directory. That makes readdir() basically impossible, and makes >> even open() (if you already know the path you want somehow) hard to do fast. > Is this actually realistic? I find it hard to imagine an actual hardware > bus that can have even thousands of devices under a single node, let > alone hundreds of thousands. Jerome's proposal, as I understand it, would have generic "links". They're not an instance of bus, but characterize a class of "link". For instance, a "link" might characterize the characteristics of the QPI bus between two CPU sockets. The link directory would enumerate the list of all *instances* of that link So, a "link" directory for QPI would say Socket0<->Socket1, Socket1<->Socket2, Socket1<->Socket2, Socket2<->PCIe-1.2.3.4 etc... It would have to enumerate the connections between every entity that shared those link properties. While there might not be millions of buses, there could be millions of *paths* across all those buses, and that's what the HMAT describes, at least: the net result of all those paths.