Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932585AbbDMTuv (ORCPT ); Mon, 13 Apr 2015 15:50:51 -0400 Received: from quartz.orcorp.ca ([184.70.90.242]:34035 "EHLO quartz.orcorp.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751376AbbDMTut (ORCPT ); Mon, 13 Apr 2015 15:50:49 -0400 Date: Mon, 13 Apr 2015 13:50:40 -0600 From: Jason Gunthorpe To: "Hefty, Sean" Cc: Michael Wang , Roland Dreier , Hal Rosenstock , "linux-rdma@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Tom Tucker , Steve Wise , Hoang-Nam Nguyen , Christoph Raisch , infinipath , Eli Cohen , "Latif, Faisal" , Jack Morgenstein , Or Gerlitz , Haggai Eran , "Weiny, Ira" , Tom Talpey , Doug Ledford Subject: Re: [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma Message-ID: <20150413195040.GB19112@obsidianresearch.com> References: <552BB470.4090407@profitbricks.com> <552BB60F.60109@profitbricks.com> <1828884A29C6694DAF28B7E6B8A82373A8FC0ACF@ORSMSX109.amr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1828884A29C6694DAF28B7E6B8A82373A8FC0ACF@ORSMSX109.amr.corp.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Broken-Reverse-DNS: no host name found for IP address 10.0.0.183 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1511 Lines: 37 On Mon, Apr 13, 2015 at 07:25:48PM +0000, Hefty, Sean wrote: > > @@ -1037,17 +1033,13 @@ void rdma_destroy_id(struct rdma_cm_id *id) > > mutex_unlock(&id_priv->handler_mutex); > > > > if (id_priv->cma_dev) { > > - switch (rdma_node_get_transport(id_priv->id.device- > > >node_type)) { > > - case RDMA_TRANSPORT_IB: > > + if (rdma_ib_or_iboe(id_priv->id.device, id_priv->id.port_num)) > > A listen id can be associated with a device without being associated > with a port (see the listen_any_list). Some other check is needed > to handle this case. I guess the code could check the first port on > the device (replace port_num with hardcoded value 1). Then we > wouldn't be any more broken than the code already is. (The 'break' > is conceptual, not practical.) Hum. So, devices on a port must have some compatibility when it comes to these invariants. It looks like all ports must have the same iwarpyness, for multiple reasons. Less clear is how rocee vs ib work within a device... Can you APM between those two kinds of ports? All these switches are so ugly :| Function pointers setup in iw_/ib_create_cm_id would be a lot clearer and safer. > This appears to be highlighting an architectural flaw in the iboe integration. You mean iwarp? Jason -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/