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 7B350A04DD for ; Wed, 28 Oct 2020 11:49:16 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0E5B1C9FE; Wed, 28 Oct 2020 11:49:15 +0100 (CET) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by dpdk.org (Postfix) with ESMTP id A45AAC9D6 for ; Wed, 28 Oct 2020 11:49:12 +0100 (CET) Received: by mail-wr1-f65.google.com with SMTP id m13so873476wrj.7 for ; Wed, 28 Oct 2020 03:49:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D5/FZRpKGk5PVwAX8K5y/9UZ2IW32VAe1l60cFI7c4A=; b=U82WI5+lt15b+w3NO6C1STVHz+u9e8YW2UiZFIn89UKZ0+cuUDus2tUvR6WE5Z/0xn 0i0civPYYYDtwreYiUXoPvrc2IOgIq0ILQoQfog0dOEFQEl3t9H9oEzlxkZeQULGmTzg 2ZMBcxfG+lVdHgTXyaEWVowqIVF9rgYgWPz8no19JnCVSHjcS06/+YfMwXeEuHce7egX kOKVypIMVXoBx6sLufX+VdN6o4p/Z0KUVhGH8MSu3FB3DOLCV2ud4Fg4mkyoHweYXOHf XTTSWaiGvgIZ5zU7WM4IZLvZpFECCP0PEQqotkYvfxA6sEveTHXHpGEtTg5QEXxgnYOf u9Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D5/FZRpKGk5PVwAX8K5y/9UZ2IW32VAe1l60cFI7c4A=; b=Cmmhj/zREiUwds7OhIKPiDXLh9CgJQ09iL8nmzUP7u2RzkZnprml1ac/JEsz1/LMF3 k3gVDKQG7dlW+pp8En93wEpcuOSYpxMwVvkkmIm1wns11F2NKF3akZwc3jaLKKO8r7nb YMiOZNDnenrq8Is0vky6Fq518gvqvvHTukEcLcxbDbKDF/sIPGQSlab3HrYRcfJ+vME/ rRox5xKG+5sPv4CipiP3JXmi1NWsK1cbSVWS1hqtzCR5RDEp8vIAmxd5U1xVAOf5ByTL E924+kVdZTtvlBhCxJvSde4VAbSPVYXun7exHwLKZ0VLXgjYWOAr0/4o2TK8ALeNhmDu Uh7A== X-Gm-Message-State: AOAM532hKVQfFvOLcThkIFyOTcnU3o8/MqQs4Y3JsWLUD7KNs0sanF39 A3HLoqU23lIRs4PDZUFTGtE= X-Google-Smtp-Source: ABdhPJwx3ESeDgWwrYu/oLH0X5heCWpmOV3GXGAF4kk0qEa77uj/W83dzekuXQP4h4xNLJa4AKlg0Q== X-Received: by 2002:adf:f80a:: with SMTP id s10mr8168408wrp.275.1603882152359; Wed, 28 Oct 2020 03:49:12 -0700 (PDT) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id l5sm6161720wrq.14.2020.10.28.03.49.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2020 03:49:11 -0700 (PDT) From: luca.boccassi@gmail.com To: Steven Lariau Cc: Dharmik Thakkar , Ruifeng Wang , Gage Eads , dpdk stable Date: Wed, 28 Oct 2020 10:43:38 +0000 Message-Id: <20201028104606.3504127-59-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201028104606.3504127-1-luca.boccassi@gmail.com> References: <20201028104606.3504127-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'stack: reload head when pop fails' has been queued to stable release 19.11.6 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: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 10/30/20. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Thanks. Luca Boccassi --- >From 8e02b23f34dcda47d1ef7920315d7a162e2f6f79 Mon Sep 17 00:00:00 2001 From: Steven Lariau Date: Fri, 25 Sep 2020 18:43:38 +0100 Subject: [PATCH] stack: reload head when pop fails [ upstream commit 18effad9cfa7ab077712c9d37672c3ae1bbf9213 ] List head must be loaded right before continue (when failed to find the new head). Without this, one thread might keep trying and failing to pop items without ever loading the new correct head. Fixes: 7e6e609939a8 ("stack: add C11 atomic implementation") Cc: gage.eads@intel.com Signed-off-by: Steven Lariau Reviewed-by: Dharmik Thakkar Reviewed-by: Ruifeng Wang Acked-by: Gage Eads --- lib/librte_stack/rte_stack_lf_c11.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_stack/rte_stack_lf_c11.h b/lib/librte_stack/rte_stack_lf_c11.h index 999359f081..94129c3e8a 100644 --- a/lib/librte_stack/rte_stack_lf_c11.h +++ b/lib/librte_stack/rte_stack_lf_c11.h @@ -139,8 +139,10 @@ __rte_stack_lf_pop_elems(struct rte_stack_lf_list *list, /* If NULL was encountered, the list was modified while * traversing it. Retry. */ - if (i != num) + if (i != num) { + old_head = list->head; continue; + } new_head.top = tmp; new_head.cnt = old_head.cnt + 1; -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-10-28 10:35:13.611841151 +0000 +++ 0059-stack-reload-head-when-pop-fails.patch 2020-10-28 10:35:11.524830318 +0000 @@ -1,8 +1,10 @@ -From 18effad9cfa7ab077712c9d37672c3ae1bbf9213 Mon Sep 17 00:00:00 2001 +From 8e02b23f34dcda47d1ef7920315d7a162e2f6f79 Mon Sep 17 00:00:00 2001 From: Steven Lariau Date: Fri, 25 Sep 2020 18:43:38 +0100 Subject: [PATCH] stack: reload head when pop fails +[ upstream commit 18effad9cfa7ab077712c9d37672c3ae1bbf9213 ] + List head must be loaded right before continue (when failed to find the new head). Without this, one thread might keep trying and failing to pop items @@ -10,7 +12,6 @@ Fixes: 7e6e609939a8 ("stack: add C11 atomic implementation") Cc: gage.eads@intel.com -Cc: stable@dpdk.org Signed-off-by: Steven Lariau Reviewed-by: Dharmik Thakkar @@ -21,10 +22,10 @@ 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_stack/rte_stack_lf_c11.h b/lib/librte_stack/rte_stack_lf_c11.h -index 2bc6394194..adb9f590de 100644 +index 999359f081..94129c3e8a 100644 --- a/lib/librte_stack/rte_stack_lf_c11.h +++ b/lib/librte_stack/rte_stack_lf_c11.h -@@ -133,8 +133,10 @@ __rte_stack_lf_pop_elems(struct rte_stack_lf_list *list, +@@ -139,8 +139,10 @@ __rte_stack_lf_pop_elems(struct rte_stack_lf_list *list, /* If NULL was encountered, the list was modified while * traversing it. Retry. */