> -----Original Message-----
> From: Stephen Hemminger <step...@networkplumber.org>
> Sent: Saturday, August 29, 2020 04:31
> To: Guo, Jia <jia....@intel.com>
> Cc: Wang, Haiyue <haiyue.w...@intel.com>; Morten Brørup 
> <m...@smartsharesystems.com>; Yang, Qiming
> <qiming.y...@intel.com>; Xing, Beilei <beilei.x...@intel.com>; Zhao1, Wei 
> <wei.zh...@intel.com>; Zhang,
> Qi Z <qi.z.zh...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; 
> Richardson, Bruce
> <bruce.richard...@intel.com>; dev@dpdk.org; Zhang, Helin 
> <helin.zh...@intel.com>; Yigit, Ferruh
> <ferruh.yi...@intel.com>; barbe...@kth.se
> Subject: Re: [dpdk-dev] [PATCH v2 0/5] maximize vector rx burst for PMDs
> 
> On Fri, 28 Aug 2020 14:39:33 +0800
> Jeff Guo <jia....@intel.com> wrote:
> 
> > >> I am not sure about this, but if I read it correctly, calling 
> > >> rte_eth_rx_burst() with nb_pkts =
> 33
> > >> (not 32) would only return 32 packets, even if more packets are 
> > >> available. (I assume that
> > >> RTE_I40E_DESCS_PER_LOOP is 32.) In this case, I guess that you need to 
> > >> read the remaining of the
> > >> requested packets using the non-vector function in order to support any 
> > >> nb_pkts value.
> > >>
> > > This is vector instruction handling design requirement, like for avx2: 
> > > #define
> ICE_DESCS_PER_LOOP_AVX 8,
> > > if deep into the real loop handling, you will get the point why doing 
> > > RTE_ALIGN_FLOOR. ;-)
> > >
> > > _ice_recv_raw_pkts_vec_avx2:
> > > for (i = 0, received = 0; i < nb_pkts; i += ICE_DESCS_PER_LOOP_AVX, rxdp 
> > > += ICE_DESCS_PER_LOOP_AVX)
> > >
> > > Maybe it is worth to tell PMD to stop using vector by calling 
> > > rte_eth_rx_queue_setup with the
> application
> > > burst size it wants.
> 
> There is no need for yet another nerd knob in DPDK.
> 
> The driver must accept any burst size > 0.
> If it wants to optimize for certain multiples, then it can do so in its burst 
> handler.
> Like any optimized checksum calculator does.

I think if people care about performance, then PMDs have done every possible 
methods like
the burst size, then no need to invent their burst handers. ;-)

At least, burst size is an optimize hit for performance. 



Reply via email to