From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 4CCD71B374 for ; Sun, 11 Feb 2018 03:46:59 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 5BBE020C68; Sat, 10 Feb 2018 21:46:56 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Sat, 10 Feb 2018 21:46:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux.org; h=cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=5S06mmZi9Yvif4Ax4gZp0yzmV+iQLVF7Yt8v3U7mep4=; b=ATkK3nr3 5NCL7nR8N5rCmnd6Z0gzrPRChABpxv6DWvil8yIIvUSJiSbqnbgdZkExK0D2jWc5 tWSnFETD1heZeApDhSRuapcf7CWF7YGZoxb7iQdZbMuABFz/ezmKzzaQja/+vkJr jPtzZxULTbLHve+w7EndPIdKlIhm08AX6GRbTbqyDSzqe1NJqHt/+RKUngA/27nW gwphI4cUz4wUl/WFsu8HOonrnIaXHRxhbq5jzgdUUlcRSSe2dil8kLF6IPYDFnQF R48Cg1vhryH5SzuKeq2HrPDcyYnOQfCetLyy3DnZ15E4aTCB54B2GgGHsHdBpVJ0 oRAcW7eV2/KThw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=5S06mmZi9Yvif4Ax4gZp0yzmV+iQL VF7Yt8v3U7mep4=; b=SU3waUpS1JfTxvFKEe9Q9AQhUnc3uaO0TDING0OBnOa1G Ez6TLt3kD/VkcO6xLywHymbWU7ej/rFlKcCJZjx200mP73qnmBOjmcnK2vKSpYf+ qV+5KUh60WvZTj4P3PcSL7uvLE0ruaJgL24asEdHHfRErFOja1GjAzAaSPwMvE9U TVcBHwTJ21WGTsdQ3LPfPTpoyTZIGob3rsauZw3DiqSXhMZwmoXaumf+pW0nQsV8 YZRxeqn99KkzpwheLkxasgNaWlEKBxB/aY514VYvVjfovHSCqSyc3e3rO9rTM9jB y8FTzpjRDQSpXkeLiiIXul7nHnsZvnl36s+ntVxkQ== X-ME-Sender: Received: from yliu-mob (unknown [115.150.101.1]) by mail.messagingengine.com (Postfix) with ESMTPA id A0BB924406; Sat, 10 Feb 2018 21:46:55 -0500 (EST) Date: Sun, 11 Feb 2018 10:46:53 +0800 From: Yuanhan Liu To: Matan Azrad Cc: Konstantin Ananyev , Thomas Monjalon , dpdk stable Message-ID: <20180211024653.GC23970@yliu-mob> References: <1517478479-12417-1-git-send-email-yliu@fridaylinux.org> <1517478479-12417-40-git-send-email-yliu@fridaylinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1517478479-12417-40-git-send-email-yliu@fridaylinux.org> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [dpdk-stable] patch 'ethdev: fix port id allocation' has been queued to LTS release 17.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Feb 2018 02:46:59 -0000 On Thu, Feb 01, 2018 at 05:47:54PM +0800, Yuanhan Liu wrote: > Hi, > > FYI, your patch has been queued to LTS release 17.11.1 > > Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. > It will be pushed if I get no objections before 02/03/18. So please > shout if anyone has objections. It introduced an crash at port allocation. And I have now reverted it. Please do a backport if necessary. Thanks. --yliu > > --- > >From 67abe74f3c09e6f166902c9fc5f4d7f65f7b3007 Mon Sep 17 00:00:00 2001 > From: Matan Azrad > Date: Mon, 22 Jan 2018 16:38:18 +0000 > Subject: [PATCH] ethdev: fix port id allocation > > [ upstream commit 8ee892a2385c50427c03db5cef1789babceb5999 ] > > rte_eth_dev_find_free_port() found a free port by state checking. > The state field are in local process memory, so other DPDK processes > may get the same port ID because their local states may be different. > > Replace the state checking by the ethdev port name checking, > so, if the name is an empty string the port ID will be detected as > unused. > > Fixes: d948f596fee2 ("ethdev: fix port data mismatched in multiple process model") > > Suggested-by: Konstantin Ananyev > Signed-off-by: Matan Azrad > Acked-by: Thomas Monjalon > Acked-by: Konstantin Ananyev > --- > lib/librte_ether/rte_ethdev.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c > index 9dcb0d2..8ea85cd 100644 > --- a/lib/librte_ether/rte_ethdev.c > +++ b/lib/librte_ether/rte_ethdev.c > @@ -192,8 +192,12 @@ rte_eth_dev_find_free_port(void) > unsigned i; > > for (i = 0; i < RTE_MAX_ETHPORTS; i++) { > - if (rte_eth_devices[i].state == RTE_ETH_DEV_UNUSED) > + /* Using shared name field to find a free port. */ > + if (rte_eth_dev_data[i].name[0] == '\0') { > + RTE_ASSERT(rte_eth_devices[i].state == > + RTE_ETH_DEV_UNUSED); > return i; > + } > } > return RTE_MAX_ETHPORTS; > } > -- > 2.7.4