On 23.07.2019 15:21, Artur Świgoń wrote:
+static int exynos_bus_icc_aggregate(struct icc_node *node, u32 avg_bw,
u32 peak_bw, u32 *agg_avg, u32 *agg_peak)
+{
- *agg_peak = *agg_avg = peak_bw;
- return 0;
+}
The only current provider aggregates "avg" with "sum" and "peak" with "max", any particular reason to do something different? This function doesn't even really do aggregation, if there is a second request for "0" then the first request is lost.
I didn't find any docs but my interpretation of avg/peak is that "avg" is for constant traffic like a display or VPU pushing pixels and "peak" is for variable traffic like networking. I assume devices which make "peak" requests are aggregated with max because they're not expected to all max-out together.
In PATCH 11 you're making a bandwidth request based on resolution, that traffic is constant and guaranteed to happend while the display is on so it would make sense to request it as an "avg" and aggregate it with "sum".
-- Regards, Leonard
Hi,
Thank you for your comments.
On Tue, 2019-08-06 at 13:41 +0000, Leonard Crestez wrote:
On 23.07.2019 15:21, Artur Świgoń wrote:
+static int exynos_bus_icc_aggregate(struct icc_node *node, u32 avg_bw,
u32 peak_bw, u32 *agg_avg, u32 *agg_peak)
+{
- *agg_peak = *agg_avg = peak_bw;
- return 0;
+}
The only current provider aggregates "avg" with "sum" and "peak" with "max", any particular reason to do something different? This function doesn't even really do aggregation, if there is a second request for "0" then the first request is lost.
Yes, you're right. I adopted an oversimplified solution for the purpose of this RFC (please bear in mind that currently only one icc_path is used, so there is no aggregation anyway).
I didn't find any docs but my interpretation of avg/peak is that "avg" is for constant traffic like a display or VPU pushing pixels and "peak" is for variable traffic like networking. I assume devices which make "peak" requests are aggregated with max because they're not expected to all max-out together.
That's correct (according to my understanding).
In PATCH 11 you're making a bandwidth request based on resolution, that traffic is constant and guaranteed to happend while the display is on so it would make sense to request it as an "avg" and aggregate it with "sum".
-- Regards, Leonard
dri-devel@lists.freedesktop.org