[openib-general] 2 questions on physical code layout

Roland Dreier roland at topspin.com
Mon Oct 25 10:57:33 PDT 2004


I have a couple of questions/suggestions about how we want to arrange
the code for kernel inclusion:

    1. Does it make sense to remove the ib_ prefixes on .c files in
       drivers/infiniband/core?  After all, someone looking in
       drivers/infiniband should realize they're looking at IB source
       code.  For reference, drivers/usb/core has file with names like
       hub.c, hcd.c, sysfs.c, ... and net/core has neighbour.c,
       sock.c, stream.c, ....

       (If we move our includes somewhere like include/infiniband, I
       would suggest getting rid of the ib_ prefix from .h files as
       well, since C files can do "#include <infiniband/verbs.h>")

    2. Should we combine ib_mad.c and ib_agent.c into a single module?
       In the past I've argued against arbitrarily combining modules,
       but in this case, ib_agent.c doesn't export any symbols (so
       dependencies can't bring it in automatically), and everything
       silently fails if it's not loaded.

       I'm afraid that "Why are my ports stuck in the DOWN state?" is
       going to become our most popular FAQ if we don't address this.
       mthca is auto-loaded by hotplug, and modprobe ib_ipoib will
       bring in every other required module, so ib_agent is the only
       problem I see right now.

       I can't think of any situation where one would want IB drivers
       loaded without a functioning SMI, so I don't see any
       disadvantage to having ib_agent.c linked into the same .ko as ib_mad.c.

Thanks,
  Roland



More information about the general mailing list