Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754915AbbDMUbP (ORCPT ); Mon, 13 Apr 2015 16:31:15 -0400 Received: from mga14.intel.com ([192.55.52.115]:7578 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751583AbbDMUbJ convert rfc822-to-8bit (ORCPT ); Mon, 13 Apr 2015 16:31:09 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,572,1422950400"; d="scan'208";a="694683159" From: "Hefty, Sean" To: Jason Gunthorpe 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 Thread-Topic: [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma Thread-Index: AQHQdeUuGutiT7s6bE23niQY7GYk/51LT6EggACAKgD//5C+EA== Date: Mon, 13 Apr 2015 20:31:06 +0000 Message-ID: <1828884A29C6694DAF28B7E6B8A82373A8FC0B58@ORSMSX109.amr.corp.intel.com> References: <552BB470.4090407@profitbricks.com> <552BB60F.60109@profitbricks.com> <1828884A29C6694DAF28B7E6B8A82373A8FC0ACF@ORSMSX109.amr.corp.intel.com> <20150413195040.GB19112@obsidianresearch.com> In-Reply-To: <20150413195040.GB19112@obsidianresearch.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.139] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1904 Lines: 42 > 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? No idea > All these switches are so ugly :| Function pointers setup in > iw_/ib_create_cm_id would be a lot clearer and safer. I noticed this too. The if checks throughout the cma are becoming unmaintainable. It may be cleaner if all devices adopted using the cm device function pointers. > > This appears to be highlighting an architectural flaw in the iboe > integration. > > You mean iwarp? I meant iboe. Wildcard listens map to multiple listens, one per device. The assumption being that all ports on the device are the same. IBoE changed that assumption. -- 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/