From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: kernel binding of devices + hotplug Date: Mon, 16 Apr 2018 19:50:10 +0200 Message-ID: <12594971.AWg2Dei6cb@xps> References: <2407757.yEAnF6RcS7@xps> <20180416095723.0d7698c7@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: Matan Azrad , "Burakov, Anatoly" , "dev@dpdk.org" , "pmatilai@redhat.com" , "david.marchand@6wind.com" , "jia.guo@intel.com" , "konstantin.ananyev@intel.com" , "fbl@redhat.com" To: Stephen Hemminger , Bruce Richardson Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id CA2D6AAB5 for ; Mon, 16 Apr 2018 19:50:13 +0200 (CEST) In-Reply-To: <20180416095723.0d7698c7@xeon-e3> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 16/04/2018 18:57, Stephen Hemminger: > Buried under this discussion is the fact that the Mellanox bifurcated driver > behaves completely differently from every other driver. This makes coming to > a common solution much harder. The bifurcated model has advantages and disadvantages, > in this case it is a disadvantage since it is not easy to manage usage when > it is a shared resource. The bifurcated model can apply to more cases than Mellanox. For instance, the AF_XDP PMD will be bifurcated. In the case of AF_XDP, you don't need to bind a kernel module to the device. We have a good idea of how to program the right binding inside DPDK: depending on how the device is configured by the application or from the command line options, we can guess which binding is expected. We need to compare it with how we could integrate the same "transparent binding" with udev/driverctl. The system tools are nice for persistent and global configuration. The other requirement is to be able to run a one-shot DPDK application without changing the persistent system configuration. We may need to hook udev/driverctl live to make it happen.