From patchwork Fri Aug 17 10:50:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Jia" X-Patchwork-Id: 43771 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 09C3B1E2F; Fri, 17 Aug 2018 12:53:22 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 35BB598 for ; Fri, 17 Aug 2018 12:53:21 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Aug 2018 03:53:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,250,1531810800"; d="scan'208";a="76129635" Received: from jeffguo-z170x-ud5.sh.intel.com (HELO localhost.localdomain) ([10.67.104.10]) by orsmga003.jf.intel.com with ESMTP; 17 Aug 2018 03:52:56 -0700 From: Jeff Guo To: stephen@networkplumber.org, bruce.richardson@intel.com, ferruh.yigit@intel.com, konstantin.ananyev@intel.com, gaetan.rivet@6wind.com, jingjing.wu@intel.com, thomas@monjalon.net, motih@mellanox.com, matan@mellanox.com, harry.van.haaren@intel.com, qi.z.zhang@intel.com, shaopeng.he@intel.com, bernard.iremonger@intel.com, arybchenko@solarflare.com Cc: jblunck@infradead.org, shreyansh.jain@nxp.com, dev@dpdk.org, jia.guo@intel.com, helin.zhang@intel.com Date: Fri, 17 Aug 2018 18:50:12 +0800 Message-Id: <1534503016-31805-1-git-send-email-jia.guo@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1530787185-5915-1-git-send-email-jia.guo@intel.com> References: <1530787185-5915-1-git-send-email-jia.guo@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 0/4] Install eal event handler in i40e/ixgbe 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" We currently have eal event and ethdev event for ethdev hotplug. Some ethdev's need to use an eal event to detect hotplug behaviors. Previously, we needed to register an eal event callback in the application, but this potentially causes a race condition between the eal event process to the ethdev event process. It might better to fix this issue. This patch set introduces a way to combine these 2 event by registering the ethdev eal event callback in the ethdev and triggering the ethdev hotplug event in the callback. This will let the ethdev device easily process the hotplug in a common way. Drivers which support hotplug could use this mechanism to detect and process hotplugs. patch history: v6->v5: refine some commit log v5->v4: refine some code style and typo v4->v3: change to use device event handler install api v3->v2: remove the callback from driver to ethdev for common. v2->v1: add ixgbe hotplug detect case. refine some doc. Jeff Guo (4): ethdev: Add eal device event callback net/ixgbe: install ethdev hotplug handler in ixgbe net/i40e: install hotplug handler in i40e testpmd: remove the dev event callback register app/test-pmd/testpmd.c | 78 -------------------------------- doc/guides/rel_notes/release_18_08.rst | 12 +++++ drivers/net/i40e/i40e_ethdev.c | 8 +++- drivers/net/ixgbe/ixgbe_ethdev.c | 8 +++- lib/librte_ethdev/rte_ethdev.c | 61 +++++++++++++++++++++++++ lib/librte_ethdev/rte_ethdev_driver.h | 32 +++++++++++++ lib/librte_ethdev/rte_ethdev_version.map | 2 + 7 files changed, 121 insertions(+), 80 deletions(-)