On Tue, Jul 30, 2019 at 08:54:13AM -0700, Stephen Hemminger wrote: > 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.
I'm all for getting it back, but the most likely place is in individual drivers themselves. Do you have a link on the static branches that the rest of us could read up on, since I, for one, am not familiar with the term.