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

Liguzinski, WojciechX wojciechx.liguzinski at intel.com
Thu Oct 14 17:13:41 CEST 2021


Hi Stephen,

I have applied as much your comments as it could be changed.
Unfortunately, not all calculations could be change to improve performance.

Thanks,
Wojtek

-----Original Message-----
From: Stephen Hemminger <stephen at networkplumber.org> 
Sent: Tuesday, September 7, 2021 9:15 PM
To: Liguzinski, WojciechX <wojciechx.liguzinski at intel.com>
Cc: dev at dpdk.org; Singh, Jasvinder <jasvinder.singh at intel.com>; Dumitrescu, Cristian <cristian.dumitrescu at intel.com>; Ajmera, Megha <megha.ajmera at 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.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