[dpdk-users] movzbl in rte_eth_rx_burst

Stephen Hemminger stephen at networkplumber.org
Sun Aug 20 19:56:38 CEST 2017


On Sat, 19 Aug 2017 08:45:15 +0000
"Dorsett, Michal" <Michal.Dorsett at verint.com> wrote:

> Hi,
> 
> We are running dpdk 16.07. Below is a snippet from a perf annotate report of a CPU running a thread that constantly reads packets.
> As you can see, the hottest instructruction is
> 
> movzbl 0x10(%rcx),%r15d
> 
> which, I believe, is referring to
> 
> struct rte_eth_dev *dev = &rte_eth_devices[port_id];
> 
> 
> Can someone explain why this instruction is so costly, and how I can remedy this?

Perf is not accurate on exact instruction.
Your problem is that reading TSC causes a full pipeline stall on most x86 processors.

https://archive.fosdem.org/2015/schedule/event/dpdk_performance/


More information about the users mailing list