numam-dpdk/lib
Anatoly Burakov 209fd58545 power: make ethdev power management thread unsafe
Currently, we expect that only one callback can be active at any given
moment, for a particular queue configuration, which is relatively easy
to implement in a thread-safe way. However, we're about to add support
for multiple queues per lcore, which will greatly increase the
possibility of various race conditions.

We could have used something like an RCU for this use case, but absent
of a pressing need for thread safety we'll go the easy way and just
mandate that the API's are to be called when all affected ports are
stopped, and document this limitation. This greatly simplifies the
`rte_power_monitor`-related code.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: David Hunt <david.hunt@intel.com>
2021-07-09 21:13:13 +02:00
..
acl acl: fix build with GCC 6.3 2021-06-17 09:37:11 +02:00
bbdev log: register with standardized names 2021-05-11 15:17:55 +02:00
bitratestats lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
bpf log: register with standardized names 2021-05-11 15:17:55 +02:00
cfgfile log: register with standardized names 2021-05-11 15:17:55 +02:00
cmdline lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
compressdev log: register with standardized names 2021-05-11 15:17:55 +02:00
cryptodev lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
distributor lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
eal eal: add power monitor for multiple events 2021-07-09 21:13:13 +02:00
efd lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
ethdev ethdev: add dev configured flag 2021-07-08 13:05:55 +02:00
eventdev log: register with standardized names 2021-05-11 15:17:55 +02:00
fib lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
flow_classify flow_classify: fix leaking rules on delete 2021-06-24 15:34:45 +02:00
graph eal: save error in string copy 2021-07-05 15:11:30 +02:00
gro lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
gso lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
hash hash: fix tuple adjustment 2021-05-10 15:31:42 +02:00
ip_frag ip_frag: fix fragmenting IPv4 packet with header option 2021-04-21 16:50:46 +02:00
ipsec lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
jobstats lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
kni kni: update link only on change 2021-07-09 17:22:42 +02:00
kvargs lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
latencystats lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
lpm lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
mbuf mbuf: clarify usage of packet pool initializers 2021-05-04 22:41:32 +02:00
member log: register with standardized names 2021-05-11 15:17:55 +02:00
mempool mempool: distinguish cache and pool debug counters 2021-05-04 09:44:55 +02:00
meter lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
metrics log: register with standardized names 2021-05-11 15:17:55 +02:00
net net: introduce functions to verify L4 checksums 2021-07-02 19:03:03 +02:00
node log: register with standardized names 2021-05-11 15:17:55 +02:00
pci bus/pci: configure PCI bus master 2021-06-04 09:38:08 +02:00
pdump log: register with standardized names 2021-05-11 15:17:55 +02:00
pipeline lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
port lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
power power: make ethdev power management thread unsafe 2021-07-09 21:13:13 +02:00
rawdev log: register with standardized names 2021-05-11 15:17:55 +02:00
rcu log: register with standardized names 2021-05-11 15:17:55 +02:00
regexdev lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
reorder lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
rib rib: fix max depth IPv6 lookup 2021-06-24 15:34:45 +02:00
ring lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
sched sched: fix traffic class oversubscription parameter 2021-04-21 16:57:18 +02:00
security lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
stack log: register with standardized names 2021-05-11 15:17:55 +02:00
table build: fix formatting of Meson lists 2021-05-04 15:01:47 +02:00
telemetry telemetry: add extra log message on socket bind failure 2021-07-07 15:23:53 +02:00
timer lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
vhost vhost: use DPDK allocations for in-flight data 2021-06-30 13:32:38 +02:00
meson.build lib: build testpmd dependencies on Windows 2021-07-02 19:03:03 +02:00