[dpdk-dev] [PATCH] i40evf: use non spinning delay when issuing AQ request to PF

Stephen Hemminger stephen at networkplumber.org
Sat Apr 4 23:51:18 CEST 2020


On Mon, 30 Mar 2020 16:33:30 +0200
Laurent Hardy <laurent.hardy at 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.matz at 6wind.com>
> Signed-off-by: Laurent Hardy <laurent.hardy at 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?


More information about the dev mailing list