[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.


More information about the users mailing list