On Tue, 30 Jul 2019 16:33:55 +0100 Bruce Richardson <bruce.richard...@intel.com> wrote:
> On Tue, Jul 30, 2019 at 08:25:34AM -0700, Stephen Hemminger wrote: > > On Tue, 30 Jul 2019 14:49:49 +0200 > > Marcin Zapolski <marcinx.a.zapol...@intel.com> wrote: > > > > > Make rte_eth_rx_burst, rte_eth_tx_burst and other static inline ethdev > > > functions not inline. They are referencing DPDK internal structures and > > > inlining forces those structures to be exposed to user applications. > > > > > > In internal testing with i40e NICs a performance drop of about 2% was > > > observed with testpmd. > > > > > > Signed-off-by: Marcin Zapolski <marcinx.a.zapol...@intel.com> > > > > Sorry 2% matters. > > Note that this is with testpmd. Are there many apps out there where a 2% > drop in IO cost would be noticable? Why not find a way to get the 2% back elsewhere? Maybe analyzing the code/cache in more detail. Perhaps some prefetching could help, or getting rid of indirect calls elsewhere in the code. At the extreme, maybe implementing something like the kernel static branches (self-modifying code) would get a lot back.