Thanks Stephen, I will do my best to apply your comments.
Best Regards, Wojciech Liguzinski -----Original Message----- From: Stephen Hemminger <step...@networkplumber.org> Sent: Tuesday, September 7, 2021 9:15 PM To: Liguzinski, WojciechX <wojciechx.liguzin...@intel.com> Cc: dev@dpdk.org; Singh, Jasvinder <jasvinder.si...@intel.com>; Dumitrescu, Cristian <cristian.dumitre...@intel.com>; Ajmera, Megha <megha.ajm...@intel.com> Subject: Re: [dpdk-dev] [RFC PATCH v5 1/5] sched: add PIE based congestion management On Tue, 7 Sep 2021 07:33:24 +0000 "Liguzinski, WojciechX" <wojciechx.liguzin...@intel.com> wrote: > +/** > + * @brief make a decision to drop or enqueue a packet based on probability > + * criteria > + * > + * @param pie_cfg [in] config pointer to a PIE configuration > +parameter structure > + * @param pie [in, out] data pointer to PIE runtime data > + * @param time [in] current time (measured in cpu cycles) */ static > +inline void __rte_experimental _calc_drop_probability(const struct > +rte_pie_config *pie_cfg, > + struct rte_pie *pie, uint64_t time) This code adds a lot of inline functions in the name of performance. But every inline like this means the internal ABI for the implmentation has to be exposed. You would probably get a bigger performance bump from not using floating point in the internal math, than the minor performance optimization from having so many inlines.