ARM: Change load tracking scale using sysfs
authorOlivier Cozette <olivier.cozette@arm.com>
Wed, 17 Oct 2012 13:30:30 +0000 (14:30 +0100)
committerJon Medhurst <tixy@linaro.org>
Wed, 17 Jul 2013 10:12:27 +0000 (11:12 +0100)
commit0e48eed05c47aa2e00b772a519b36286e466621e
tree08a570839eec9c6d0e3b0ffafbdeed974842e846
parentb64cc6f7e54b97536dbecc05d193b31b27feecf1
ARM: Change load tracking scale using sysfs

These functions allow to change the load average period used
in the task load average computation through
/sys/kernel/hmp/load_avg_period_ms. This period is the time
in ms to go from 0 to 0.5 load average while running or the
time from 1 to 0.5 while sleeping.

The default one used is 32 and gives the same load_avg_ratio
computation than without this patch. These functions also allow
to change the up and down threshold of HMP using
/sys/kernel/hmp/{up,down}_threshold. Both must be between 0 and
1024. The thresholds are divided by 1024 before being compared
to the load_avg_ratio.

If /sys/kernel/hmp/load_avg_period_ms is 128 and
/sys/kernel/hmp/up_threshold is 512, a task will be migrated
to a bigger cluster after running for 128ms. Because after
load_avg_period_ms the load average is 0.5 and real up_threshold
us 512 / 1024 = 0.5.

Signed-off-by: Olivier Cozette <olivier.cozette@arm.com>
Signed-off-by: Chris Redpath <chris.redpath@arm.com>
arch/arm/Kconfig
kernel/sched/fair.c