[openib-general] Missining Infiniband class fields

shaharf shaharf at voltaire.com
Thu Dec 9 03:23:20 PST 2004


Hi guys,

            I am implementing a user mode access library for the umad. I
have encountered few issues:

 

1. I am using the sys Infiniband class to get the HCA/port attributes,
and several fields are missing:

            For the ports:

                        Physical port state (as in Portinfo)

                        Port GUID (as in Nodeinfo to the port)

 

            For the CA:

                        Node type (as in NodeInfo)

 

If no one objects, I would like to add them to the class. If someone
else prefers to do it, please tell me.

 

2. I need an interface for setting/clearing IS_SM bit. If there is such
please let me know. If not, I would like to add an additional ioctl to
set/clear the IS_SM bit. A ctl file in /dev/.../ports/.../ is anther
option. Please tell me what do you think.

 

3. It would help me very much if I could get an async event on some
changes, especially ports state changes. Lid/SM lid changes events will
be nice too. I am not familiar with the HCA fw, so I don't know if it
does trigger such events. The AnafaII fw does.

Anyhow there are several ways to implement the event mechanism, and I
would to hear what you think about it. I am still new to 2.6 mechanisms,
and I don't know if there is a recommended method to do this. The
methods I know are Signals, poll events, pseudo device blocking read,
etc.

 

If we are going to use device reads, I want to suggest that we implement
circular events queue that each should contain at least the following:

 <timestamp> <event name> <event data>. If we use on /dev and /sys I
would also use the name of the relevant sys|dev file as the event name,
and have its new data as the event data. Such an event queue is managed
for each fd that request that, and an event will be cleared once read,
or upon queue overflow.

 

I have used such mechanisms before and they were very useful. Again, if
there is a standard way to do it, it is OK with me.

 

The IS_SM issue is critical for OpenSM. The missing class fields are
important because without them I will have to do local mads and it will
considerably complicates the library. The events issue is less critical,
but still such a mechanism may help to solve many problems, and to
simplify many other mechanisms.

 

Shahar 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20041209/085bbb3d/attachment.html>


More information about the general mailing list