Dear dpdk dev,

I'm using dpdk 21.11 LTS, when compile my program with CPP flag "-std=c++20", 
the compiler report below errors. After checking file rte_spinlock.h, I think 
the error report by compiler is valid, there should be a potential issue when 
using functions rte_spinlock_recursive_lock, rte_spinlock_recursive_unlock and 
rte_spinlock_recursive_trylock in multi-thread, we could either remove 
"volatile" definition to ask users to handle the multi-thread issue, or using 
atomic operatings instead of self-increment and self-decrement.


/home/dpdk/lib/eal/include/generic/rte_spinlock.h:221:12: error: increment of 
object of volatile-qualified type 'volatile int' is deprecated 
[-Werror,-Wdeprecated-volatile]
        slr->count++;
                  ^
/home/dpdk/lib/eal/include/generic/rte_spinlock.h:231:6: error: decrement of 
object of volatile-qualified type 'volatile int' is deprecated 
[-Werror,-Wdeprecated-volatile]
        if (--(slr->count) == 0) {
            ^
/home/dpdk/lib/eal/include/generic/rte_spinlock.h:255:12: error: increment of 
object of volatile-qualified type 'volatile int' is deprecated 
[-Werror,-Wdeprecated-volatile]
        slr->count++;



BR,

[A close up of a sign  Description automatically generated]

Xiangyun Zhou
NPG SWE SWA
Intel Corporation  |  intel.com

Reply via email to