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.

Reply via email to