From: Paul J. <pj...@en...> - 2001-12-05 21:13:48
|
On Wed, 5 Dec 2001, Niels Christiansen wrote: > On Tue, 4 Dec 2001, Paul Jackson wrote: > > > Yes - seems that: > > ... > > 4) Neils is trying to implement performance traces > > on Linux similar to what has been done on AIX. > > Paul, performance tracing is but one ... Well spoken, Neils. I take a bit of pleasure in having provoked you into such a clear statement of direction. And, yes, we disagree, pretty much as you describe. === On a separate note, I had mentioned earlier in this thread another topology solution, the "hwgraph" on Irix. It turns out that others within SGI also consider hwgraph to be an excellent solution to the problem of presenting a systems hardward configuration, and have been porting this to Linux, making use of Gooch's devfs. There doesn't seem to be much information on hwgraph on the web yet -- a Google search for "hwgraph" will get you the man page, at such locations as: http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?hwgraph+4 This man page begins: |> Internal Hardware Graph |> Internally, Irix system software maintains a directed |> graph called the "hardware graph". The hwgraph represents |> the collection of all significant hardware connected |> to a system. It represents each piece of hardware -- |> modules, CPUs, memories, disk controllers, disk drives, |> disk partitions, serial ports, ethernet ports, some system |> integrated circuits, etc. -- as a distinct vertex in the |> graph. There are some additional vertices that represent |> collections of hardware (e.g. "the disks") or more abstract |> architectural concepts (e.g. "a node"). The contents of |> the hardware graph are obviously system-dependent; but |> there are many common elements that cross system types. |> |> Labeled edges are used to connect graph vertexes in a |> way that shows some relationship between the underlying |> hardware. For instance, an edge labeled "3" originates at a |> vertex that represents the collection of all partitions on |> a drive. It points to a vertex that represents the third |> partition on that drive. Another example: An edge labeled |> "memory" hanging off a vertex that represents a system node |> points to a vertex that represents the memory on that node. |> |> The internal hwgraph also supports arbitrarily-labeled |> information associated with each vertex. This allows |> device drivers to associate useful data structures and |> other information with a particular device. |> |> The hardware graph is maintained by system software with |> the cooperation of device drivers using new device driver |> interfaces as described in the Device Driver Programmer's |> Guide. |> |> Hardware graph filesystem (hwgfs) |> The internal hardware graph is exported to user-level |> through a pseudo-file system (similar to /proc(4)). |> The hwgfs file system represents the collection of all |> interesting hardware and pseudo-devices as a file system |> tree of special files and directories. It is mounted at |> "/hw" by the kernel during system bootup, and can be |> re-mounted using /etc/mnthwgfs. In order to represent the |> directed graph as a Unix file system tree, hwgfs imposes an |> artificial hierarchy on the hardware graph, and it uses hard |> links and symlinks to represent graph edges that are outside |> that hierarchy. Note that it is possible and likely(!) that |> the hwgfs file system contains symlinks that point back |> "up" to higher-level directories. The implication is that |> there will be some symlinks under /hw that form cycles which |> "ls -R" and other commands that recursively descend from a |> directory have trouble dealing with. Note, however, that |> the "find" command handles symlinks very well and works |> as desired: The Device Driver Programmer's Guide mentioned above is available online, and describes the "Hardware Graph" in more detail. See for example: http://torsion.personal.engin.umich.edu/ebt-bin/nph-infosrch/infosrch/SGI_Developer/DevDriver_PG/@ebt-link;pt=3314?target=%25N%14_3819_START_RESTART_N%25#X This page has quite a bit more discussion of hwgraph, how it works and how drivers set it up. For at least the time being, I expect to satisfy our (SGI Linux) needs for topology using hwgraph. And I am looking for ways to make this stuff more available to others who are working in this same space. I won't rest till it's the best ... Manager, Linux Scalability Paul Jackson <pj...@sg...> 1.650.933.1373 |