title: Infiniband Protocol
body: <p>What is the use of the below structure and function in designing drivers for IB?</p>
  
  <pre><code>struct ib_sa_client {
      atomic_t users;
      struct completion comp;
  };
  
  /**
   * ib_sa_register_client - Register an SA client.
   */
  void ib_sa_register_client(struct ib_sa_client *client);
  </code></pre>
  
  <p>It will very kind of someone to explain these.</p>