patches for DPDK stable branches
 help / color / mirror / Atom feed
* [PATCH v1 1/1] eal/random: fix random state initialization for non-eal threads
@ 2023-08-28 12:06 Anatoly Burakov
  2023-08-28 12:22 ` Mattias Rönnblom
  2023-10-02  8:25 ` David Marchand
  0 siblings, 2 replies; 7+ messages in thread
From: Anatoly Burakov @ 2023-08-28 12:06 UTC (permalink / raw)
  To: dev, Mattias Rönnblom, Bruce Richardson; +Cc: stable

Currently, the rte_rand() state is initialized with seed, and each
rand state is initialized up until RTE_MAX_LCORE'th rand state. However,
rand state also has one extra rand state reserved for non-EAL threads,
which is not initialized. Fix it by initializing this extra state.

Fixes: 3f002f069612 ("eal: replace libc-based random generation with LFSR")
Cc: mattias.ronnblom@ericsson.com
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/eal/common/rte_random.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/eal/common/rte_random.c b/lib/eal/common/rte_random.c
index 565f2401ce..e5691813a4 100644
--- a/lib/eal/common/rte_random.c
+++ b/lib/eal/common/rte_random.c
@@ -83,7 +83,7 @@ rte_srand(uint64_t seed)
 	unsigned int lcore_id;
 
 	/* add lcore_id to seed to avoid having the same sequence */
-	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++)
+	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE + 1; lcore_id++)
 		__rte_srand_lfsr258(seed + lcore_id, &rand_states[lcore_id]);
 }
 
-- 
2.37.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-10-04 11:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-28 12:06 [PATCH v1 1/1] eal/random: fix random state initialization for non-eal threads Anatoly Burakov
2023-08-28 12:22 ` Mattias Rönnblom
2023-08-28 12:48   ` Morten Brørup
2023-10-02  8:25 ` David Marchand
2023-10-02  9:02   ` Morten Brørup
2023-10-02 12:22   ` Mattias Rönnblom
2023-10-04 11:37   ` Burakov, Anatoly

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).