numam-dpdk/lib
Gavin Hu 1be7855d77 eal: add wait until equal API
The rte_wait_until_equal_xx APIs abstract the functionality of
'polling for a memory location to become equal to a given value'.

Add the RTE_ARM_USE_WFE configuration entry for aarch64, disabled
by default. When it is enabled, the above APIs will call WFE instruction
to save CPU cycles and power.

From a VM, when calling this API on aarch64, it may trap in and out to
release vCPUs whereas cause high exit latency. Since kernel 4.18.20 an
adaptive trapping mechanism is introduced to balance the latency and
workload.

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
2020-01-17 12:02:21 +01:00
..
librte_acl build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_bbdev build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_bitratestats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_bpf bpf/arm: fix clang build 2019-11-21 00:30:39 +01:00
librte_cfgfile build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_cmdline build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_compressdev build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_cryptodev build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_distributor build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_eal eal: add wait until equal API 2020-01-17 12:02:21 +01:00
librte_efd build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_ethdev ethdev: limit maximum number of queues 2019-11-27 16:04:40 +01:00
librte_eventdev build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_fib remove blank lines at end of file 2019-11-26 00:12:08 +01:00
librte_flow_classify build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_gro build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_gso build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_hash build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_ip_frag build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_ipsec build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_jobstats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_kni kni: fix build with Linux 4.9.x 2019-11-28 14:48:24 +01:00
librte_kvargs build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_latencystats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_lpm build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_mbuf mbuf: extend mbuf pool private structure 2019-11-25 22:44:46 +01:00
librte_member build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_mempool build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_meter build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_metrics build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_net build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_pci build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_pdump build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_pipeline build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_port port: replace license text with SPDX tag 2019-11-28 03:02:51 +01:00
librte_power power: fix error log on guest message polling 2019-11-26 00:29:24 +01:00
librte_rawdev build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_rcu build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_reorder build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_rib build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_ring build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_sched build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_security build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_stack build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_table build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_telemetry build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_timer build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_vhost build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
Makefile vhost: fix build dependency on hash lib 2019-11-08 23:15:05 +01:00
meson.build build: fix soname info for 19.11 compatibility 2019-12-19 16:18:21 +01:00