From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <marcinx.kerlin@intel.com>
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by dpdk.org (Postfix) with ESMTP id 0F42BF94
 for <dev@dpdk.org>; Tue, 20 Sep 2016 16:07:02 +0200 (CEST)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by fmsmga103.fm.intel.com with ESMTP; 20 Sep 2016 07:06:39 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.30,368,1470726000"; d="scan'208";a="1043217594"
Received: from gklab-246-021.igk.intel.com (HELO HANLANCREEK9755-232)
 ([10.217.246.21])
 by fmsmga001.fm.intel.com with SMTP; 20 Sep 2016 07:06:37 -0700
Received: by HANLANCREEK9755-232 (sSMTP sendmail emulation);
 Tue, 20 Sep 2016 16:06:50 +0200
From: Marcin Kerlin <marcinx.kerlin@intel.com>
To: dev@dpdk.org
Cc: thomas.monjalon@6wind.com, pablo.de.lara.guarch@intel.com,
 Marcin Kerlin <marcinx.kerlin@intel.com>
Date: Tue, 20 Sep 2016 16:06:45 +0200
Message-Id: <1474380407-15968-1-git-send-email-marcinx.kerlin@intel.com>
X-Mailer: git-send-email 1.9.1
In-Reply-To: <1472806710-25866-2-git-send-email-marcinx.kerlin@intel.com>
References: <1472806710-25866-2-git-send-email-marcinx.kerlin@intel.com>
Subject: [dpdk-dev] [PATCH v2 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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Sep 2016 14:07:03 -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.

v2:
* fix syntax error in version script

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