patch 'member: fix choice of bucket for displacement' has been queued to stable release 23.11.3

Xueming Li xuemingl at nvidia.com
Sat Dec 7 09:00:40 CET 2024


Hi,

FYI, your patch has been queued to stable release 23.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/10/24. 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.

Queued patches are on a temporary branch at:
https://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=c6840df8b593bf813e005fddd03c7de1a7684bc9

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From c6840df8b593bf813e005fddd03c7de1a7684bc9 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Fri, 15 Nov 2024 17:12:29 -0800
Subject: [PATCH] member: fix choice of bucket for displacement
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 33f5b0dcb11580be8091f3b589845e512008e2f0 ]

Because of misuse of & vs && operator, the member code would
always use the primary bucket.

Fixes: 904ec78a239c ("member: implement HT mode")

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
 lib/member/rte_member_ht.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/member/rte_member_ht.c b/lib/member/rte_member_ht.c
index a85561b472..0d0376b264 100644
--- a/lib/member/rte_member_ht.c
+++ b/lib/member/rte_member_ht.c
@@ -493,7 +493,7 @@ rte_member_add_ht(const struct rte_member_setsum *ss,
 		return ret;

 	/* Random pick prim or sec for recursive displacement */
-	uint32_t select_bucket = (tmp_sig && 1U) ? prim_bucket : sec_bucket;
+	uint32_t select_bucket = (tmp_sig & 1U) ? prim_bucket : sec_bucket;
 	if (ss->cache) {
 		ret = evict_from_bucket();
 		buckets[select_bucket].sigs[ret] = tmp_sig;
--
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-12-06 23:26:46.833508205 +0800
+++ 0082-member-fix-choice-of-bucket-for-displacement.patch	2024-12-06 23:26:44.083044826 +0800
@@ -1 +1 @@
-From 33f5b0dcb11580be8091f3b589845e512008e2f0 Mon Sep 17 00:00:00 2001
+From c6840df8b593bf813e005fddd03c7de1a7684bc9 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 33f5b0dcb11580be8091f3b589845e512008e2f0 ]
@@ -10 +12,0 @@
-Cc: stable at dpdk.org
@@ -18 +20 @@
-index 357097ff4b..738471b378 100644
+index a85561b472..0d0376b264 100644
@@ -21 +23 @@
-@@ -494,7 +494,7 @@ rte_member_add_ht(const struct rte_member_setsum *ss,
+@@ -493,7 +493,7 @@ rte_member_add_ht(const struct rte_member_setsum *ss,


More information about the stable mailing list