Lines Matching +full:high +full:- +full:performance
1 // SPDX-License-Identifier: GPL-2.0
11 * Dynamically calculates the optimum number of high capacity COREs
14 * During topology updates the CPU capacities are always re-adjusted.
18 * -> hiperdispatch's reoccuring work function reads CPU capacities to
19 * determine high capacity CPU count.
20 * -> during a topology update hiperdispatch's adjustment function
30 * crosses the threshold value hiperdispatch falls back to giving high
33 * of them high capacity.
36 * performance. Comparing the throughput of;
37 * - single CORE, with N threads, running N tasks
38 * - N separate COREs running N tasks,
40 * performance. This performance difference is roughly ~30% (can change
73 static int hd_high_capacity_cores; /* Current CORE count with high capacity */
74 static int hd_entitled_cores; /* Total vertical high and medium CORE count */
78 static unsigned long hd_high_time; /* Total time spent while all cpus have high capacity */
162 upscaling_cores = hd_high_capacity_cores - hd_entitled_cores;
170 upscaling_cores--;
203 steal = (steal * (HD_STEAL_AVG_WEIGHT - 1) + new) / HD_STEAL_AVG_WEIGHT;
223 * is 0 as vertical high CPUs shouldn't experience steal time.
230 steal_delta = (steal - hd_previous_steal) * 100 / time_delta;
278 .procname = ctl->procname,
323 return -ERANGE;
349 return -ERANGE;
414 if (sysfs_create_group(&dev->kobj, &hd_attr_group))