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.