From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Gunthorpe Subject: Re: [net-next] i40iw/i40e: Remove link dependency on i40e Date: Tue, 22 May 2018 15:33:34 -0600 Message-ID: <20180522213334.GE7502@mellanox.com> References: <20180522203831.20624-1-jeffrey.t.kirsher@intel.com> <20180522205612.GD7502@mellanox.com> <079ceee3bc8cd0ea50dd7ddc12b27512ca5ac49e.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: davem@davemloft.net, dledford@redhat.com, Sindhu Devale , netdev@vger.kernel.org, linux-rdma@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com, jogreene@redhat.com, Shiraz Saleem To: Jeff Kirsher Return-path: Received: from mail-ve1eur01on0064.outbound.protection.outlook.com ([104.47.1.64]:47611 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751420AbeEVVfN (ORCPT ); Tue, 22 May 2018 17:35:13 -0400 Content-Disposition: inline In-Reply-To: <079ceee3bc8cd0ea50dd7ddc12b27512ca5ac49e.camel@intel.com> Sender: netdev-owner@vger.kernel.org List-ID: On Tue, May 22, 2018 at 02:04:06PM -0700, Jeff Kirsher wrote: > On Tue, 2018-05-22 at 14:56 -0600, Jason Gunthorpe wrote: > > On Tue, May 22, 2018 at 01:38:31PM -0700, Jeff Kirsher wrote: > > > From: Sindhu Devale > > > > > > Currently i40iw is dependent on i40e symbols > > > i40e_register_client and i40e_unregister_client due to > > > which i40iw cannot be loaded without i40e being loaded. > > > > > > This patch allows RDMA driver to build and load without > > > linking to LAN driver and without LAN driver being loaded > > > first. Once the LAN driver is loaded, the RDMA driver > > > is notified through the netdevice notifiers to register > > > as client to the LAN driver. Add function pointers to IDC > > > register/unregister in the private VSI structure. This > > > allows a RDMA driver to build without linking to i40e. > > > > Why would you want to do this? The rdma driver is non-functional > > without the ethernet driver, so why on earth would we want to defeat > > the module dependency mechanism? > > This change is driven by the OSV's like Red Hat, where customer's were > updating the i40e driver, which in turn broke i40iw. So that isn't a reason to put something into the main line kernel, and I'm deeply skeptical this change is even sane. It has been a while since I've looked at RH's kernel, but AFAIK, breakage should only happen if the ABIs around i40e_unregister_client/etc change.. So if the i40e module updates breaks the ABI, then stuffing that same broken ABI through a function pointer is *totally* wrong. Looks like a NAK for the RDMA side. Jason