From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 6C1BCA493 for ; Thu, 25 Jan 2018 15:35:48 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jan 2018 06:35:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,412,1511856000"; d="scan'208";a="22505513" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.48]) ([10.237.220.48]) by FMSMGA003.fm.intel.com with ESMTP; 25 Jan 2018 06:35:45 -0800 To: Matan Azrad , Thomas Monjalon , Gaetan Rivet , Jingjing Wu Cc: dev@dpdk.org, Neil Horman , Bruce Richardson , Konstantin Ananyev References: <1515318351-4756-1-git-send-email-matan@mellanox.com> <1516293317-30748-1-git-send-email-matan@mellanox.com> From: Ferruh Yigit Message-ID: <3663cab2-b26d-c0ff-9b85-4996f78c80d3@intel.com> Date: Thu, 25 Jan 2018 14:35:44 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <1516293317-30748-1-git-send-email-matan@mellanox.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v3 0/7] Port ownership and syncronization 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: Thu, 25 Jan 2018 14:35:48 -0000 On 1/18/2018 4:35 PM, Matan Azrad wrote: > Add ownership mechanism to DPDK Ethernet devices to avoid multiple management of a device by different DPDK entities. > The port ownership mechanism is a good point to redefine the synchronization rules in ethdev: > > 1. The port allocation and port release synchronization will be managed by ethdev. > 2. The port usage synchronization will be managed by the port owner. > 3. The port ownership synchronization will be managed by ethdev. > 4. DPDK entity which want to use a port safely must take ownership before. > > > V2: > Synchronize ethdev port creation. > Synchronize port ownership mechanism. > Rename owner remove API to rte_eth_dev_owner_unset. > Remove "ethdev: free a port by a dedicated API" patch - passed to another series. > Add "ethdev: fix port data reset timing" patch. > Cahnge owner get API to return int value and to pass copy of the owner structure. > Adjust testpmd to the improved owner get API. > Adjust documentations. > > V3: > Change RTE_ETH_FOREACH_DEV iterator to skip owned ports(Gaetan suggestion). > Prevent goto in set\unset APIs by adding internal API - this also adds reuse of code(Konstantin suggestion). > Group all the shared processes variables in one struct to allow easy allocation of it(Konstantin suggestion). > Take owner name truncation as warning and not as error(Konstantin suggestion). > Mark the new APIs as EXPERIMENTAL. > Rebase on top of master_net_mlx. > Rebase on top of "[PATCH v6 0/6] Fail-safe\ethdev: fix removal handling lack" series. > Rebase on top of "[PATCH v5 0/8] Introduce virtual driver for Hyper-V/Azure platforms" series. > Add "ethdev: fix used portid allocation" patch suggested by Konstantin. > > > > Matan Azrad (7): > ethdev: fix port data reset timing > ethdev: fix used portid allocation > ethdev: add port ownership > ethdev: synchronize port allocation > net/failsafe: free an eth port by a dedicated API > net/failsafe: use ownership mechanism to own ports > app/testpmd: adjust ethdev port ownership Hi Thomas, Technically this should be in scope of next-net, but this become a long discussion and I am not able to follow it indeed, would you mind dealing this in master tree?