Re: [dpdk-dev] [PATCH v2 4/4] eventdev: relax smp barriers with c11 atomics
From: Thomas Monjalon <hidden>
Date: 2020-07-06 15:40:34
06/07/2020 17:32, Phil Yang:
From: Thomas Monjalon <redacted>quoted
02/07/2020 07:26, Phil Yang:quoted
--- a/lib/librte_eventdev/rte_event_timer_adapter.h +++ b/lib/librte_eventdev/rte_event_timer_adapter.h@@ -467,7 +467,7 @@ struct rte_event_timer { * - op: RTE_EVENT_OP_NEW * - event_type: RTE_EVENT_TYPE_TIMER */ - volatile enum rte_event_timer_state state; + enum rte_event_timer_state state; /**< State of the event timer. */Why do you remove the volatile keyword? It is not explained in the commit log.By using the C11 atomic operations, it will generate the same instructions for non-volatile and volatile version. Please check the sample code here: https://gcc.godbolt.org/z/8x5rWsquoted
This change is triggering a warning in the ABI check: http://mails.dpdk.org/archives/test-report/2020-July/140440.html Moving from volatile to non-volatile is probably not an issue. I expect the code generated for the volatile case to work the same in non-volatile case. Do you confirm?They generate the same instructions, so either way will work. Do I need to revert it to the volatile version?
Either you revert, or you add explanation in the commit log + exception in libabigail.abignore