[PATCH 1/2] rcu: use atomic operation on acked token

2024-02-04 Thread Honnappa Nagarahalli
acked_token should be read using atomic operation as the
the API rte_rcu_qsbr_check is advertised as multi-thread safe.

Fixes: 1f90d32ce175 ("rcu: add least acknowledged token optimization")
Cc: sta...@dpdk.org

Reported-by: Ola Liljedahl 
Signed-off-by: Honnappa Nagarahalli 
Reviewed-by: Ola Liljedahl 
---
 lib/rcu/rte_rcu_qsbr.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h
index 5979fb0efb..f6a3731308 100644
--- a/lib/rcu/rte_rcu_qsbr.h
+++ b/lib/rcu/rte_rcu_qsbr.h
@@ -667,7 +667,8 @@ rte_rcu_qsbr_check(struct rte_rcu_qsbr *v, uint64_t t, bool 
wait)
RTE_ASSERT(v != NULL);
 
/* Check if all the readers have already acknowledged this token */
-   if (likely(t <= v->acked_token)) {
+   if (likely(t <= rte_atomic_load_explicit(&v->acked_token,
+   rte_memory_order_relaxed))) {
__RTE_RCU_DP_LOG(DEBUG,
"%s: check: token = %" PRIu64 ", wait = %d",
__func__, t, wait);
-- 
2.34.1



[PATCH 2/2] rcu: use correct value of acked token in debug print

2024-02-04 Thread Honnappa Nagarahalli
Debug print should use acked token value that was used for comparison.

Fixes: bf386ae377aa ("rcu: add additional debug logs")
Cc: sta...@dpdk.org

Reported-by: Nathan Brown 
Signed-off-by: Honnappa Nagarahalli 
Reviewed-by: Nathan Brown 
---
 lib/rcu/rte_rcu_qsbr.h | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h
index f6a3731308..a7d6e63560 100644
--- a/lib/rcu/rte_rcu_qsbr.h
+++ b/lib/rcu/rte_rcu_qsbr.h
@@ -664,17 +664,20 @@ __rte_rcu_qsbr_check_all(struct rte_rcu_qsbr *v, uint64_t 
t, bool wait)
 static __rte_always_inline int
 rte_rcu_qsbr_check(struct rte_rcu_qsbr *v, uint64_t t, bool wait)
 {
+   uint64_t acked_token;
+
RTE_ASSERT(v != NULL);
 
/* Check if all the readers have already acknowledged this token */
-   if (likely(t <= rte_atomic_load_explicit(&v->acked_token,
-   rte_memory_order_relaxed))) {
+   acked_token = rte_atomic_load_explicit(&v->acked_token,
+   rte_memory_order_relaxed);
+   if (likely(t <= acked_token)) {
__RTE_RCU_DP_LOG(DEBUG,
"%s: check: token = %" PRIu64 ", wait = %d",
__func__, t, wait);
__RTE_RCU_DP_LOG(DEBUG,
"%s: status: least acked token = %" PRIu64,
-   __func__, v->acked_token);
+   __func__, acked_token);
return 1;
}
 
-- 
2.34.1



Arm roadmap for 24.03

2024-02-04 Thread Honnappa Nagarahalli
Hello,
Following are the patches planned for 24.03 release.

1) Pointer compression APIs
https://patchwork.dpdk.org/project/dpdk/list/?series=30100

2) Add SVE support for hash bulk key lookup
https://patchwork.dpdk.org/project/dpdk/list/?series=30183

3) Add support for Neoverse V2
https://patchwork.dpdk.org/project/dpdk/list/?series=30831

4) Configuration changes for cross build
https://patchwork.dpdk.org/project/dpdk/list/?series=30448

5) RCU library fixes
https://patchwork.dpdk.org/project/dpdk/list/?series=31000

Thank you,
Honnappa


Re: [PATCH v5 2/2] net/octeon_ep: add Rx NEON routine

2024-02-04 Thread Jerin Jacob
On Fri, Feb 2, 2024 at 8:54 PM  wrote:
>
> From: Pavan Nikhilesh 
>
> Add Rx ARM NEON SIMD routine.
>
> Signed-off-by: Pavan Nikhilesh 

Series applied to dpdk-next-net-mrvl/for-main. Thanks