On Mon, 30 Mar 2020 16:33:30 +0200 Laurent Hardy <laurent.ha...@6wind.com> wrote:
> When a port is handled by the i40evf dpdk pmd we could observe a cpu usage > around 70% in case of rte eth stats functions (rte_eth_stats_get and > rte_eth_xstats_get) called periodically via an application control thread. > > This is due to the polling mechanism to handle communication between VF > and PF introduced for x710 (eg: VSI and virtual channel). > > After issuing any request to the PF, the VF will wait in a blocking mode > until it gets a response from the PF or until timeout (2sec). > Instead, uses rte_delay_us_sleep to sleep for ASQ_DELAY_MS, which will > use system sleep and will not block the CPU core. > > Signed-off-by: Olivier Matz <olivier.m...@6wind.com> > Signed-off-by: Laurent Hardy <laurent.ha...@6wind.com> Any thing sleeping for that long (1ms) should never spin. Is there anyway to use something like a file descriptor/interrupt for something this long?