From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 0328E37B4 for ; Fri, 2 Sep 2016 10:58:46 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP; 02 Sep 2016 01:58:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,270,1470726000"; d="scan'208";a="1044803281" Received: from gklab-246-021.igk.intel.com (HELO HANLANCREEK9755-232) ([10.217.246.21]) by orsmga002.jf.intel.com with SMTP; 02 Sep 2016 01:58:43 -0700 Received: by HANLANCREEK9755-232 (sSMTP sendmail emulation); Fri, 02 Sep 2016 10:58:43 +0200 From: Marcin Kerlin To: dev@dpdk.org Cc: pablo.de.lara.guarch@intel.com, thomas.monjalon@6wind.com, Marcin Kerlin Date: Fri, 2 Sep 2016 10:58:28 +0200 Message-Id: <1472806710-25866-1-git-send-email-marcinx.kerlin@intel.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [PATCH 0/2] app/testpmd: improve multiprocess support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2016 08:58:47 -0000 This patch ensure not overwrite device data in the multiprocess application. 1)Changes in the library introduces continuity in array rte_eth_dev_data[] shared between all processes. Secondary process adds new entries in free space instead of overwriting existing entries. 2)Changes in application testpmd allow secondary process to attach the mempool created by primary process rather than create new and in the case of quit or force quit to free devices data from shared array rte_eth_dev_data[]. Breaking ABI: Changes in the library librte_ether causes extending existing structure rte_eth_dev_data with a new field lock. The reason is that this structure is sharing between all the processes so it should be protected against attempting to write from two different processes. Tomasz Kulasek sent announce ABI change in librte_ether on 21 July 2016. I would like to join to this breaking ABI, if it is possible. Marcin Kerlin (2): librte_ether: ensure not overwrite device data in mp app app/testpmd: improve handling of multiprocess app/test-pmd/testpmd.c | 36 +++++++++++++- app/test-pmd/testpmd.h | 1 + lib/librte_ether/rte_ethdev.c | 90 +++++++++++++++++++++++++++++++--- lib/librte_ether/rte_ethdev.h | 24 +++++++++ lib/librte_ether/rte_ether_version.map | 7 +++ 5 files changed, 148 insertions(+), 10 deletions(-) -- 1.9.1