From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 49DC01B66A for ; Sun, 15 Apr 2018 07:01:10 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Apr 2018 22:01:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,453,1517904000"; d="scan'208,217";a="32728089" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga008.fm.intel.com with ESMTP; 14 Apr 2018 22:01:06 -0700 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sat, 14 Apr 2018 22:01:06 -0700 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.206]) by FMSMSX109.amr.corp.intel.com ([169.254.15.178]) with mapi id 14.03.0319.002; Sat, 14 Apr 2018 22:01:06 -0700 From: "Wiles, Keith" To: "Richardson, Bruce" CC: Thomas Monjalon , DPDK , "Burakov, Anatoly" , "pmatilai@redhat.com" , "david.marchand@6wind.com" , "Guo, Jia" , "matan@mellanox.com" , "Ananyev, Konstantin" , "stephen@networkplumber.org" , "fbl@redhat.com" Thread-Topic: [dpdk-dev] kernel binding of devices + hotplug Thread-Index: AQHT00Tvl9EdhEjwIUeo8PVabjPWHaP/WyYAgAJhLIA= Date: Sun, 15 Apr 2018 05:01:06 +0000 Message-ID: References: <2407757.yEAnF6RcS7@xps> <20180413164046.GD37024@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: <20180413164046.GD37024@bricha3-MOBL.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.187.44] MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] kernel binding of devices + hotplug X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Apr 2018 05:01:12 -0000 On Apr 13, 2018, at 11:40 AM, Bruce Richardson > wrote: On Fri, Apr 13, 2018 at 06:31:21PM +0200, Thomas Monjalon wrote: It's time to think (again) how we bind devices with kernel modules. We need to decide how we want to manage hotplugged devices with DPDK. A bit of history first. There was some code in DPDK for bind/unbind, but it has been removed in DPDK 1.7 - http://dpdk.org/commit/5d8751b83 Copy of the commit message (in 2014): " The bind/unbind operations should not be handled by the eal. These operations should be either done outside of dpdk or inside the PMDs themselves as these are their problems. " The question raised at this time (4 years ago) is still under discussion. Should we manage binding inside or outside DPDK? Should it be controlled in the application or in the OS base? As you know, we use dpdk-devbind.py. This tool lacks two major features: - persistent configuration - hotplug If we consider that the DPDK applications should be able to apply its own policy to choose the devices to bind, then we need to implement binding in the PMD (with EAL helpers). On the other hand, if we consider that it is the system responsibility, then we could choose systemd/udev and driverctl. The debate is launched! Allow me to nail my colours to the mast early! :-) I believe it's system not application responsibility. I also believe I have previously explained my reasons for that choice in some of the previous email threads. I agree the system should be handling hot-plug and device bindings as the s= ys-admin or orchestration layer would be handling what device appears/disap= pears plus which are accessible by an application. Now an application would= need to know when a device appears/disappears, which should be handled by = the current hot-plug support (I assume). /Bruce Regards, Keith