Re: [dpdk-dev] [RFC PATCH v5 1/5] sched: add PIE based congestion management
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2021-09-07 19:15:00
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2021-09-07 19:15:00
On Tue, 7 Sep 2021 07:33:24 +0000 "Liguzinski, WojciechX" [off-list ref] 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.