> -----Original Message----- > From: Thomas Monjalon [mailto:[email protected]] > Sent: Sunday, October 27, 2019 00:46 > To: Ray Kinsella <[email protected]>; [email protected]; Wang, Haiyue > <[email protected]> > Cc: [email protected]; Yigit, Ferruh <[email protected]>; > [email protected]; Verplanke, Edwin > <[email protected]> > Subject: Re: [dpdk-dev] [RFC v2 1/3] ethdev: add the API for getting trace > information > > 13/08/2019 14:51, Ray Kinsella: > > On 13/08/2019 04:24, Stephen Hemminger wrote: > > > On Tue, 13 Aug 2019 11:06:10 +0800 > > > Haiyue Wang <[email protected]> wrote: > > > > > >> Enhance the PMD to support retrieving trace information like > > >> Rx/Tx burst selection etc. > > >> > > >> Signed-off-by: Haiyue Wang <[email protected]> > [...] > > >> int > > >> +rte_eth_trace_info_get(uint16_t port_id, uint16_t queue_id, > > >> + enum rte_eth_trace type, char *buf, int sz) > [...] > > > The bigger problem is that this information is like a log message > > > and unstructured, which makes it device specific and useless for > > > automation. > > > > IMHO - this is much better implemented as a capability bitfield, that > > can be queried. > > Now I see where this idea comes from. > Ray, Stephen, structuring shuch information is really a bad idea. > The Rx/Tx functions are not like capabilities, they are full of smart > tricks written by brillant engineers. Please do not try to put ideas > in some categories. We will have more and more new types of optimization > and ideas when the hardware will evolve. > > And, more importantly, there is no need of automation or processing > with this information. >
The real requirement is from VPP CLI practice in production: http://www.jimmdenton.com/vpp-1810-mellanox/ tx burst function: xxx rx burst function: xxx Their implementation requires *non static* rx/tx burst. Yes, MLX uses an template compile for extreme performance. ---- * @param olx * Configured offloads mask, presents the bits of MLX5_TXOFF_CONFIG_xxx * values. Should be static to take compile time static configuration * advantages. * * @return * Number of packets successfully transmitted (<= pkts_n). */ static __rte_always_inline uint16_t mlx5_tx_burst_tmpl(struct mlx5_txq_data *restrict txq, struct rte_mbuf **restrict pkts, uint16_t pkts_n, unsigned int olx) ---- What we design is from another kind of thinking from CPU's point view: commit 2e542da709371ee51d61d74c9a1b357ad34ae13e Author: David Christensen <[email protected]> Date: Fri Aug 16 12:56:04 2019 -0500 net/mlx5: add Altivec Rx Added mlx5_rxtx_vec_altivec.h which supports vectorized RX using Altivec vector code. Modified associated build files to use the new code. Signed-off-by: David Christensen <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]> Tested-by: Raslan Darawsheh <[email protected]>

