From patchwork Wed Jul 11 11:51:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Jia" X-Patchwork-Id: 42829 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 8E8961B501; Wed, 11 Jul 2018 13:53:47 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id D69B01B4F0 for ; Wed, 11 Jul 2018 13:53:45 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Jul 2018 04:53:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,338,1526367600"; d="scan'208";a="53568307" Received: from jeffguo-z170x-ud5.sh.intel.com (HELO localhost.localdomain) ([10.67.104.10]) by fmsmga007.fm.intel.com with ESMTP; 11 Jul 2018 04:53:42 -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: Wed, 11 Jul 2018 19:51:23 +0800 Message-Id: <1531309887-12104-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> Subject: [dpdk-dev] [PATCH v5 0/4] Install eal hotplug 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" As we may know, we have eal event for rte device hotplug and ethdev event for ethdev hotplug. Some ethdev need to use eal event to detect hotplug behaviors, the privors way is register eal event callback in app, but seems that it will have some race between these 2 event processes. In oder to fix the it, it might be better to find a way to combind these 2 events detect. This patch set introduce a way to combind these 2 event, by register the ethdev eal event callback in ether dev and trigger the ethdev hotplug event in the callback. That will let the ethdev device can easy process hotplug by a common way. Here let i40e/ixgbe pmd driver for example, other driver which support hotplug feature could be use this way to detect and process hotplug. patch history: 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 | 76 -------------------------------- 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 | 59 +++++++++++++++++++++++++ lib/librte_ethdev/rte_ethdev_driver.h | 32 ++++++++++++++ lib/librte_ethdev/rte_ethdev_version.map | 2 + 7 files changed, 119 insertions(+), 78 deletions(-)