[openib-general] Re: RDMA Generic Connection Management

Roland Dreier rolandd at cisco.com
Tue Aug 30 11:35:41 PDT 2005


    Thomas> Well, you're saying somebody has to do it, right? Is it
    Thomas> easier to fob this off to upper layers that (frankly)
    Thomas> don't care what hardware they're talking to!? This means
    Thomas> we have N copies of this, and N ways to do it. Talk about
    Thomas> cacheline pingpong.

Upper layers have the luxury of being able to do this at a
per-connection level, can sleep, etc.  If we push it down into the
verbs, then we have to do it in every verbs call, including the fast
path verbs call.  And that means we get into all sorts of crazy code
to deal with a device disappearing between a consumer calling
ib_post_send() and the core code being entered, etc.

Right now we have a very simple set of rules:

  An upper level protocol consumer may begin using an IB device as
  soon as the add method of its struct ib_client is called for that
  device.  A consumer must finish all cleanup and free all resources
  relating to a device before returning from the remove method.

  A consumer is permitted to sleep in its add and remove methods.

 - R.



More information about the general mailing list