From patchwork Tue Jul 10 12:51:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Jia" X-Patchwork-Id: 42707 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 9563E1B3AC; Tue, 10 Jul 2018 14:53:55 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 3E74A1B3AC for ; Tue, 10 Jul 2018 14:53:54 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jul 2018 05:53:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,334,1526367600"; d="scan'208";a="70159573" Received: from jeffguo-z170x-ud5.sh.intel.com (HELO localhost.localdomain) ([10.67.104.10]) by fmsmga004.fm.intel.com with ESMTP; 10 Jul 2018 05:53:50 -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: Tue, 10 Jul 2018 20:51:34 +0800 Message-Id: <1531227098-29564-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 v4 0/4] Enable eal hotplug event handler in ethdev 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: 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 ++++++++++++++ 6 files changed, 117 insertions(+), 78 deletions(-)