On Tue, 30 Jul 2019 17:11:31 +0100
Bruce Richardson <bruce.richard...@intel.com> wrote:

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

https://www.kernel.org/doc/Documentation/static-keys.txt

Reply via email to