[dpdk-dev] [RFC PATCH v5 1/5] sched: add PIE based congestion management

Stephen Hemminger stephen at networkplumber.org
Tue Sep 7 21:14:52 CEST 2021


On Tue,  7 Sep 2021 07:33:24 +0000
"Liguzinski, WojciechX" <wojciechx.liguzinski at 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.


More information about the dev mailing list