From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7FF4EA04B5; Tue, 29 Sep 2020 19:08:49 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EF2601DA70; Tue, 29 Sep 2020 19:08:46 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id BF7AA1DA67 for ; Tue, 29 Sep 2020 19:08:44 +0200 (CEST) IronPort-SDR: kYZiz3Lo1EO2xbtKO94yEBpFs00nDlYqCUCg9ZfLGXwS+Ea9n5jlv/xkgKvGg4ZkOYoQ3pG+9D laqo7HiDDbFQ== X-IronPort-AV: E=McAfee;i="6000,8403,9759"; a="162303879" X-IronPort-AV: E=Sophos;i="5.77,319,1596524400"; d="scan'208";a="162303879" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2020 10:08:40 -0700 IronPort-SDR: t7/KBLfLEtW2Q3GU5VyD4q3x1sqZ2a0tEhGmckNgDvxMWgubSoSt7wdowhxDXjYKqIRUpSRLXE +27ZKy/NfNEA== X-IronPort-AV: E=Sophos;i="5.77,319,1596524400"; d="scan'208";a="492235271" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.220.198]) ([10.213.220.198]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2020 10:08:25 -0700 To: Thomas Monjalon , dev@dpdk.org, Alfredo Cardigliano , Heinrich Kuhn , Shijith Thotton , Srisivasubramanian Srinivasan Cc: arybchenko@solarflare.com, Shijith Thotton , Srisivasubramanian Srinivasan , Heinrich Kuhn , Alfredo Cardigliano , Liron Himi , Ray Kinsella , Neil Horman , "John W. Linville" , Ciara Loftus , Qi Zhang , Shepard Siegel , Ed Czeck , John Miller , Igor Russkikh , Pavel Belous , Steven Webster , Matt Peters , Somalapuram Amaranath , Rasesh Mody , Shahed Shaikh , Ajit Khaparde , Somnath Kotur , Chas Williams , "Wei Hu (Xavier)" , Rahul Lakkireddy , Hemant Agrawal , Sachin Saxena , Jeff Guo , Haiyue Wang , Marcin Wojtas , Michal Krawczyk , Guy Tzalik , Evgeny Schemeilin , Igor Chauskin , Gagandeep Singh , John Daley , Hyong Youb Kim , Gaetan Rivet , Xiao Wang , Ziyang Xuan , Xiaoyun Wang , Guoyang Zhou , "Min Hu (Connor)" , Yisen Zhuang , Beilei Xing , Jingjing Wu , Qiming Yang , Jakub Grajciar , Matan Azrad , Shahaf Shuler , Viacheslav Ovsiienko , Zyta Szpak , Stephen Hemminger , "K. Y. Srinivasan" , Haiyang Zhang , Long Li , Martin Spinler , Tetsuya Mukawa , Harman Kalra , Jerin Jacob , Nithin Dabilpuram , Kiran Kumar K , Akhil Goyal , Bruce Richardson , Jasvinder Singh , Cristian Dumitrescu , Keith Wiles , Maxime Coquelin , Chenbo Xia , Zhihong Wang , Yong Wang References: <20200913220711.3768597-1-thomas@monjalon.net> <20200928231437.414489-1-thomas@monjalon.net> <20200928231437.414489-22-thomas@monjalon.net> From: Ferruh Yigit Message-ID: <09376dad-3331-3436-b602-2ae5d07831cb@intel.com> Date: Tue, 29 Sep 2020 18:08:21 +0100 MIME-Version: 1.0 In-Reply-To: <20200928231437.414489-22-thomas@monjalon.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v3 21/29] ethdev: remove old close behaviour 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" On 9/29/2020 12:14 AM, Thomas Monjalon wrote: > The temporary flag RTE_ETH_DEV_CLOSE_REMOVE is removed. > It was introduced in DPDK 18.11 in order to give time for PMDs to migrate. > > The old behaviour was to free only queues when closing a port. > The new behaviour is calling rte_eth_dev_release_port() which does > three more tasks: > - trigger event callback > - reset state and few pointers > - free all generic port resources > > The private port resources must be released in the .dev_close callback. > > The .remove callback should: > - call .dev_close callback > - call rte_eth_dev_release_port() > - free multi-port device shared resources > > Despite waiting two years, some drivers have not migrated, > so they may hit issues with the incompatible new behaviour. > After sending emails, adding logs, and announcing the deprecation, > the only last solution is to declare these drivers as unmaintained: > ionic, liquidio, nfp > Below is a summary of what to implement in those drivers. > > * The freeing of private port resources must be moved > from the ".remove(device)" function to the ".dev_close(port)" function. > > * If a generic resource (.mac_addrs or .hash_mac_addrs) cannot be freed, > it must be set to NULL in ".dev_close" function to protect from > subsequent rte_eth_dev_release_port() freeing. > > * Note 1: > The generic resources are freed in rte_eth_dev_release_port(), > after ".dev_close" is called in rte_eth_dev_close(), but not when > calling ".dev_close" directly from the ".remove" PMD function. > That's why rte_eth_dev_release_port() must still be called explicitly > from ".remove(device)" after calling the ".dev_close" PMD function. > > * Note 2: > If a device can have multiple ports, the common resources must be freed > only in the ".remove(device)" function. > > * Note 3: > The port is supposed to be in a stopped state when it is closed. > If it is not the case, it is free to the PMD implementation > how to react when trying to close a non-stopped port: > either try to stop it automatically or just return an error. > > Cc: Shijith Thotton > Cc: Srisivasubramanian Srinivasan > Cc: Heinrich Kuhn > Cc: Alfredo Cardigliano > > Signed-off-by: Thomas Monjalon > Reviewed-by: Liron Himi Reviewed-by: Ferruh Yigit > > diff --git a/MAINTAINERS b/MAINTAINERS > index 49a6dfa7a5..6aaf80d483 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -604,7 +604,7 @@ F: drivers/net/thunderx/ > F: doc/guides/nics/thunderx.rst > F: doc/guides/nics/features/thunderx.ini > > -Cavium LiquidIO > +Cavium LiquidIO - UNMAINTAINED > M: Shijith Thotton > M: Srisivasubramanian Srinivasan > T: git://dpdk.org/next/dpdk-next-net-mrvl > @@ -793,7 +793,7 @@ F: drivers/net/nfb/ > F: doc/guides/nics/nfb.rst > F: doc/guides/nics/features/nfb.ini > > -Netronome nfp > +Netronome nfp - UNMAINTAINED > M: Heinrich Kuhn > F: drivers/net/nfp/ > F: doc/guides/nics/nfp.rst > @@ -829,7 +829,7 @@ F: doc/guides/nics/pfe.rst > F: drivers/net/pfe/ > F: doc/guides/nics/features/pfe.ini > > -Pensando ionic > +Pensando ionic - UNMAINTAINED > M: Alfredo Cardigliano > F: drivers/net/ionic/ > F: doc/guides/nics/ionic.rst Just to highlight above drivers that are marked as 'UNMAINTAINED'.