On Wed, Jan 18, 2017 at 11:42:36AM -0700, Jason Gunthorpe wrote: > On Wed, Jan 18, 2017 at 10:30:20AM -0800, Adit Ranadive wrote: > >> We do register for netdev events so we get callbacks for the >> link state. The problem happens when we call ib_register before the vmxnet3 >> link is up. At this point the ib_core stack already has created the QP1, etc. >> Once the vmxnet3 link is up we would have to call ib_unregister/ib_register >> to recreate QP1. This might fail/stuck if the there is a user app thats created >> QPs and we're just waiting to free those resources. > > Having to register/unregister on every link transition sounds like a > horrible design, you should fix that :) We try to avoid the register if the link is down with this patch but the issue boils down to the handling of QP1. This gets us a step closer. In order to recover QP1 correctly after a link transition we had to go through a register/unregister since it is placed in error state when the port is down. In this case can the MAD layer re-initialize QP1 if link transitions are performed? -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html