eal: add power monitor for multiple events
authorAnatoly Burakov <anatoly.burakov@intel.com>
Fri, 9 Jul 2021 16:08:13 +0000 (16:08 +0000)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 9 Jul 2021 19:13:13 +0000 (21:13 +0200)
commit66834f29745a484d6217513e4bdf3270b0430267
treecf3dc24fee68f7a0b24335eae9e144ea114b934e
parent6afc4baf4ffb90427208746f8484c7c3c430ae86
eal: add power monitor for multiple events

Use RTM and WAITPKG instructions to perform a wait-for-writes similar to
what UMWAIT does, but without the limitation of having to listen for
just one event. This works because the optimized power state used by the
TPAUSE instruction will cause a wake up on RTM transaction abort, so if
we add the addresses we're interested in to the read-set, any write to
those addresses will wake us up.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: David Hunt <david.hunt@intel.com>
lib/eal/arm/rte_power_intrinsics.c
lib/eal/include/generic/rte_cpuflags.h
lib/eal/include/generic/rte_power_intrinsics.h
lib/eal/ppc/rte_power_intrinsics.c
lib/eal/version.map
lib/eal/x86/rte_cpuflags.c
lib/eal/x86/rte_power_intrinsics.c