Yuyang Du
6ecdd74962
sched/fair: Generalize the load/util averages resolution definition
Integer metric needs fixed point arithmetic. In sched/fair, a few
metrics, e.g., weight, load, load_avg, util_avg, freq, and capacity,
may have different fixed point ranges, which makes their update and
usage error-prone.
In order to avoid the errors relating to the fixed point range, we
definie a basic fixed point range, and then formalize all metrics to
base on the basic range.
The basic range is 1024 or (1 << 10). Further, one can recursively
apply the basic range to have larger range.
Pointed out by Ben Segall, weight (visible to user, e.g., NICE-0 has
1024) and load (e.g., NICE_0_LOAD) have independent ranges, but they
must be well calibrated.
Signed-off-by: Yuyang Du <yuyang.du@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: bsegall@google.com
Cc: dietmar.eggemann@arm.com
Cc: lizefan@huawei.com
Cc: morten.rasmussen@arm.com
Cc: pjt@google.com
Cc: umgwanakikbuti@gmail.com
Cc: vincent.guittot@linaro.org
Link: http://lkml.kernel.org/r/1459829551-21625-2-git-send-email-yuyang.du@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-05-05 09:24:00 +02:00
..
2016-04-14 01:31:50 -04:00
2016-02-22 08:51:37 +01:00
2016-04-04 10:50:24 -07:00
2015-12-04 22:46:25 +01:00
2016-04-21 12:05:15 +02:00
2016-03-17 09:45:10 +01:00
2016-05-05 09:23:59 +02:00
2016-03-24 22:59:58 -07:00
2016-03-17 15:09:34 -07:00
2016-03-22 15:36:02 -07:00
2016-05-05 09:24:00 +02:00
2016-04-23 14:20:42 +02:00
2016-03-25 16:37:42 -07:00
2015-10-21 15:18:35 +01:00
2015-11-19 17:51:48 +01:00
2016-01-22 18:04:28 -05:00
2015-11-04 08:23:51 -05:00
2016-03-19 17:52:49 -07:00
2016-03-19 17:52:49 -07:00
2015-12-24 11:09:39 -05:00
2016-02-08 11:25:39 -05:00
2016-03-22 15:36:02 -07:00
2015-12-03 10:24:08 -05:00
2015-12-14 14:54:37 -05:00
2016-03-21 10:05:13 -07:00
2015-11-24 09:56:43 +01:00
2015-09-03 02:42:20 +02:00
2016-04-22 09:49:49 +02:00
2016-03-21 10:05:13 -07:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-03-25 16:37:42 -07:00
2015-09-10 13:29:01 -07:00
2016-03-22 15:36:02 -07:00
2016-01-20 17:09:18 -08:00
2016-04-21 11:06:09 +02:00
2016-03-22 15:36:02 -07:00
2015-11-23 09:44:58 +01:00
2015-11-23 09:44:58 +01:00
2016-03-15 16:55:16 -07:00
2016-01-20 17:09:18 -08:00
2016-03-22 15:36:02 -07:00
2016-01-30 09:49:57 +01:00
2016-03-17 11:33:45 -07:00
2016-01-20 17:09:18 -08:00
2016-01-20 17:09:18 -08:00
2015-10-23 17:55:10 +09:00
2015-08-04 10:16:54 +02:00
2015-12-07 16:59:37 -08:00
2015-09-04 16:54:41 -07:00
2016-02-09 11:54:23 +01:00
2016-03-22 15:36:02 -07:00
2015-09-11 15:21:34 -07:00
2016-03-22 15:36:02 -07:00
2016-03-03 21:49:27 +00:00
2016-03-17 21:46:32 -07:00
2015-09-01 08:40:25 -07:00
2016-02-16 13:04:58 -05:00
2016-03-22 15:36:02 -07:00
2015-11-09 15:53:39 -08:00
2016-01-31 15:44:04 -08:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2015-09-10 13:29:01 -07:00
2016-01-22 18:04:28 -05:00
2016-04-14 12:56:09 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-15 13:50:29 -07:00
2016-03-01 20:36:56 +01:00
2016-03-01 20:36:56 +01:00
2016-03-25 16:37:42 -07:00
2016-01-16 11:17:24 -08:00
2015-12-01 14:00:53 -05:00
2016-03-17 15:09:34 -07:00
2016-03-22 15:36:02 -07:00
2016-03-17 15:09:34 -07:00
2015-09-05 13:46:58 -07:00
2015-10-06 11:25:01 -07:00
2016-03-22 15:36:02 -07:00
2016-02-29 09:53:09 +01:00
2016-01-04 10:27:55 -05:00
2016-03-17 15:09:34 -07:00
2016-03-02 10:28:47 -05:00
2016-03-18 20:05:39 -07:00