Bug 946
Summary: | async flow rules affects pmd power management | ||
---|---|---|---|
Product: | DPDK | Reporter: | David Hunt (david.hunt) |
Component: | ethdev | Assignee: | dev |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | admin, david.hunt |
Priority: | Normal | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All |
Description
David Hunt
2022-03-02 13:27:15 CET
This patch is mostly adding new functions to rte_flow. Please could you elaborate which change in this patch is the cause of rte_xbegin to fail? It's looking like its a compiler issue. We can repeat the issue using gcc9 with static libraries, but not with shared libraries. Also, gcc11 does not exhibit the issue. Also, if we build with a subset of NIC drivers, the issue disappears. So it's probably something do with code alignment or offsets around RTM transactions in gcc9 static builds. IMO the patches are fine, just a problem with gcc9. Building with a different set of drivers may fix the issue, but a better way is just to use gcc11 (we're on Ubuntu where both are supported). Is there any known bug regarding RTM and GCC 9? I cannot find any known bug in this area. We are going to contact our gcc colleagues for more information. I think the best path forward for this release is to proceed with the code as is, and add an errata for the RTM portion of the power library, along with mitigation suggestions. If RTM is disabled/not available it will use the regular pause instruction, still saving power, but not quite as much as with RTM and TPAUSE. Also, there are a couple of workarounds, reduce the number of drivers compiled into the application, or using gcc-11. |