GitHub/LineageOS/android_kernel_motorola_exynos9610.git
6 months agoems: clean up ems.h
Park Bumgyu [Fri, 13 Apr 2018 02:30:57 +0000 (11:30 +0900)]
ems: clean up ems.h

Change-Id: I70a89c242ada635932d85cbdb9533ef07bcb3526
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: rt: Fix cpu_util_wake problem
Youngtae Lee [Fri, 6 Jul 2018 01:46:58 +0000 (10:46 +0900)]
sched: rt: Fix cpu_util_wake problem

Previous cpu_util_wake considers only cfs util.
But in rt task working case, it reads making wrong decisions so
frt_cpu_util_wake considers not only cfs util but also rt util.

Change-Id: I814cd8346b7e6260fa3cbefff773024bd74a42a1
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 months agosched: ems: update topology after energy table creation
Park Bumgyu [Thu, 9 Aug 2018 04:54:59 +0000 (13:54 +0900)]
sched: ems: update topology after energy table creation

Change-Id: I12c66b041b801c331d1b631b035bf99d07af763f
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months ago[COMMON] sched: ems: Consider sync cpu when ontime task wakeup
Daeyeong Lee [Mon, 20 Aug 2018 07:03:26 +0000 (16:03 +0900)]
[COMMON] sched: ems: Consider sync cpu when ontime task wakeup

Change-Id: Ia77686fd9341ec427643c95bf82b1366a6303807
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: Fix calculate_energy bug
lakkyung.jung [Mon, 3 Sep 2018 04:37:55 +0000 (13:37 +0900)]
sched: ems: Fix calculate_energy bug

Change-Id: I13fda72d1a6529c245108da2d34bb6d40688d8cb
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 months ago[COMMON] sched: ems: Modify select_eco_cpu algorithm
Daeyeong Lee [Mon, 25 Jun 2018 11:07:30 +0000 (20:07 +0900)]
[COMMON] sched: ems: Modify select_eco_cpu algorithm

- Previous select_eco_cpu function choose mininum capacity cpu
  as energy cpu as far as possible.
  But there is many case that bigger cpu is better at power efficiency.
  So modify select_eco_cpu function to search all active core.

Change-Id: Ibe3d2a9729e794ac395780fe4d5875f31575c972
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: reinforce comment of wakeup balance
Park Bumgyu [Wed, 18 Jul 2018 01:32:01 +0000 (10:32 +0900)]
sched: ems: reinforce comment of wakeup balance

Change-Id: I8e0731eaa35ed746168955ede2501cad2c75ee42
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: remove group balancer
Park Bumgyu [Wed, 18 Jul 2018 00:59:34 +0000 (09:59 +0900)]
sched: ems: remove group balancer

group balancer is not used anymore, similar function is supported
by task band. Remove group balancer.

Change-Id: I5ff7573a927f69144f477e5d64c32084d70188c7
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: declare task_of for common use in ems
Park Bumgyu [Mon, 2 Jul 2018 23:47:28 +0000 (08:47 +0900)]
sched: ems: declare task_of for common use in ems

Change-Id: I5c6ed6b9d3d0c15f17d871b3b69f0bc5e7a60b7d
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: use LOAD_AVG_MAX declared in sched-pelt.h
Park Bumgyu [Thu, 5 Jul 2018 23:16:28 +0000 (08:16 +0900)]
sched: ems: use LOAD_AVG_MAX declared in sched-pelt.h

To follow the half-life time of task util, use the LOAD_AVG_MAX
declared in sched-pelt.h

Change-Id: I28fd88dd334d9c4999f97734d8d9c983af38100a
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: ontime: Use get_cpu_max_capacity instead of capacity_orig_of function.
Daeyeong Lee [Tue, 19 Jun 2018 06:19:07 +0000 (15:19 +0900)]
sched: ems: ontime: Use get_cpu_max_capacity instead of capacity_orig_of function.

Change-Id: I0ffb28f2680b9f3603a82eb0fbfbce8213c4c83f
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: provide API for cpu max capacity
Park Bumgyu [Tue, 19 Jun 2018 06:10:01 +0000 (15:10 +0900)]
sched: ems: provide API for cpu max capacity

Change-Id: Iaef589d777ce55ab21f642f4f9333d753309069e
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: fix wrong declaration of inline extern function.
Park Bumgyu [Thu, 14 Jun 2018 05:42:44 +0000 (14:42 +0900)]
sched: fix wrong declaration of inline extern function.

To fix build error, remove inline term at extern declared function.

Change-Id: Id30ffd2f600b514b98cfe9ebd60d80a5fdc463c3
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: update cpu_scale when policy is updated
Park Bumgyu [Wed, 2 May 2018 02:27:23 +0000 (11:27 +0900)]
sched: ems: update cpu_scale when policy is updated

When policy->max is pressed, the performance of the cpu is
constrained. In the constrained state, the cpu capacity also
changes, and the overutil condition changes accordingly, so
the cpu scale is updated whenever policy is changed.

Change-Id: Ie6938e605d55cf700164a7512ffd6c41a747cbbc
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: ontime: Modify to initialize the boundary value by ratio
Daeyeong Lee [Mon, 18 Jun 2018 02:44:00 +0000 (11:44 +0900)]
sched: ems: ontime: Modify to initialize the boundary value by ratio

Change-Id: Iab4450579898d8b5d561d00f7c627d7c88ce88ab
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: Don't check lbt_bring_overutilize when wake balance
Daeyeong Lee [Thu, 14 Jun 2018 06:56:50 +0000 (15:56 +0900)]
sched: ems: Don't check lbt_bring_overutilize when wake balance

Change-Id: I2b3cd086d0a4329270c7b877967897ce4735e5a0
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: support schedtune.boost in wakeup balance.
Park Bumgyu [Thu, 14 Jun 2018 04:20:46 +0000 (13:20 +0900)]
sched: ems: support schedtune.boost in wakeup balance.

Change-Id: I18938f89a6cf1372c6be96e0d6c769960cd2918c
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: fix return type of task_util.
Park Bumgyu [Thu, 14 Jun 2018 00:43:16 +0000 (09:43 +0900)]
sched: ems: fix return type of task_util.

The variable type of util_avg is unsigned long. Fix return type
of task util to avoid data loss.

Change-Id: I463b9fa65f018f4d98804df6f3c62fbbb6ff0951
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: ontime: Modify to check whether fit_cpus is empty.
Daeyeong Lee [Thu, 14 Jun 2018 01:17:52 +0000 (10:17 +0900)]
sched: ems: ontime: Modify to check whether fit_cpus is empty.

- There is a possibility of trouble, when fit_cpus is return with empty.
  To prevent this situation, ontime_select_fit_cpus fucntion return
  whether fit_cpus is empty or not.

Change-Id: Ibcadee7f1c7dd54e074509712ddb3ea05bfc82ef
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: frt: Add the rt_rq load update.
Johnlay Park [Tue, 12 Jun 2018 11:03:25 +0000 (20:03 +0900)]
sched: frt: Add the rt_rq load update.

Change-Id: I676ecfa2aec75c46144f78fc90981ff43c8833c0
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months agosched: ems: ontime: Use get_cpu_mips instead of capacity_orig_of.
Daeyeong Lee [Tue, 12 Jun 2018 06:15:42 +0000 (15:15 +0900)]
sched: ems: ontime: Use get_cpu_mips instead of capacity_orig_of.

- The value of capacity_orig_of can be changed at runtime.
  Ontime feature need to use stable value that indicating performance of cpu.
  So use get_cpu_mips instead of capacity_orig_of.

Change-Id: If249f6841cc26abce573459d8199004beccdeac8
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: add function to get cpu mips.
Park Bumgyu [Tue, 12 Jun 2018 06:12:22 +0000 (15:12 +0900)]
sched: ems: add function to get cpu mips.

Change-Id: I79918451a93bddf1effe7d8ed6a65a0176886012
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: prevent access to plugged out cpu.
Park Bumgyu [Tue, 12 Jun 2018 01:23:31 +0000 (10:23 +0900)]
sched: ems: prevent access to plugged out cpu.

Change-Id: Id9e0ac5cb1979cd8d3766f9fb1a7c0874a561e7b
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: introduce task band
Park Bumgyu [Fri, 25 May 2018 05:01:52 +0000 (14:01 +0900)]
sched: ems: introduce task band

Change-Id: Ic3fbe3e80c8033f5c1c77f02cb0eeb6ee04d9630
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agoRevert "sched: fair/ems: Add schedtune_util_est"
Cosmin Tanislav [Tue, 16 Apr 2024 19:14:45 +0000 (22:14 +0300)]
Revert "sched: fair/ems: Add schedtune_util_est"

This reverts commit 0084cce86c169f068fe02aac9cbab499feb1c6a4.

6 months agosched: fair/ems: Add schedtune_util_est
lakkyung.jung [Fri, 4 May 2018 11:16:53 +0000 (20:16 +0900)]
sched: fair/ems: Add schedtune_util_est

Change-Id: I0a0f1723356683829ce709ec750f4f013aa1c75b
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 months agosched: tune: Add utilest interface to schedtune.
lakkyung.jung [Fri, 4 May 2018 01:20:03 +0000 (10:20 +0900)]
sched: tune: Add utilest interface to schedtune.

Change-Id: I4e5313f7128f5aa599b7214eaf13679d1f9484ef
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 months agosched: fair/ems: Add to apply util-est to wake up balance.
lakkyung.jung [Mon, 16 Apr 2018 14:05:00 +0000 (23:05 +0900)]
sched: fair/ems: Add to apply util-est to wake up balance.

Change-Id: Ia3ff1303d3180612308399d0f311d6c278ddefa9
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 months agosched: ems: ontime: Rename ontime threshold to boundary.
Daeyeong Lee [Mon, 4 Jun 2018 06:57:36 +0000 (15:57 +0900)]
sched: ems: ontime: Rename ontime threshold to boundary.

Change-Id: I124f16d1cc884884fe0f58de5e871b53da6c1372
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Clear unnecessary sequence to migrate ontime task.
Daeyeong Lee [Thu, 31 May 2018 07:41:40 +0000 (16:41 +0900)]
sched: ems: ontime: Clear unnecessary sequence to migrate ontime task.

Change-Id: I29083497168ad57712394d12ba98d1997f5a6cba
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Change new entity's initial ontime load policy.
Daeyeong Lee [Wed, 23 May 2018 06:10:24 +0000 (15:10 +0900)]
sched: ems: ontime: Change new entity's initial ontime load policy.

Change-Id: I4688cd1fb459ca74092b386356843b37d361b07a
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Allow to migrate to active core within coverage ratio.
Daeyeong Lee [Fri, 18 May 2018 06:51:50 +0000 (15:51 +0900)]
sched: ems: ontime: Allow to migrate to active core within coverage ratio.

Change-Id: I501963c396772bdd5051e7c69e8d642bcbdfac59
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Don't allow to down-migrate heaviest task.
Daeyeong Lee [Mon, 14 May 2018 10:09:11 +0000 (19:09 +0900)]
sched: ems: ontime: Don't allow to down-migrate heaviest task.

Change-Id: I0daf9e82d69438155ce80c33a6a4709523462491
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Use fit cpus when ontime migration.
Daeyeong Lee [Mon, 14 May 2018 01:52:03 +0000 (10:52 +0900)]
sched: ems: ontime: Use fit cpus when ontime migration.

Change-Id: Icea69935638628cb8dc41d38a47a9bc4046110b0
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Use fit cpus when ontime task wake-up.
Daeyeong Lee [Fri, 18 May 2018 02:01:56 +0000 (11:01 +0900)]
sched: ems: ontime: Use fit cpus when ontime task wake-up.

Change-Id: I143735486cb003fea16d80144bb67ffaeb2bf01e
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Add API to find fit cpus for heavy task.
Daeyeong Lee [Fri, 18 May 2018 01:58:30 +0000 (10:58 +0900)]
sched: ems: ontime: Add API to find fit cpus for heavy task.

Change-Id: I833b0c6997c40eb239836ba54385d3acb782b9ec
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Modify message of ontime trace log.
Daeyeong Lee [Tue, 8 May 2018 11:05:16 +0000 (20:05 +0900)]
sched: ems: ontime: Modify message of ontime trace log.

Change-Id: I5560fd905fa03b77e4f609fc7d5d983b0405ac8c
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Remove distinction between ontime and normal task.
Daeyeong Lee [Tue, 8 May 2018 10:56:09 +0000 (19:56 +0900)]
sched: ems: ontime: Remove distinction between ontime and normal task.

Change-Id: I343feff2d7db0d97d3813b570193f1ee8e3af93e
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Remove min_residency at ontime condition.
Daeyeong Lee [Tue, 8 May 2018 10:34:41 +0000 (19:34 +0900)]
sched: ems: ontime: Remove min_residency at ontime condition.

Change-Id: I2263bff40f49ff9c9f112aac1db0546330c1447f
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Modify sysfs node for new structure.
Daeyeong Lee [Tue, 8 May 2018 10:11:05 +0000 (19:11 +0900)]
sched: ems: ontime: Modify sysfs node for new structure.

Change-Id: Iaf7001616dde4f95f126e2021e4efd42b90fcc69
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Modify ontime condition structure.
Daeyeong Lee [Tue, 8 May 2018 08:06:21 +0000 (17:06 +0900)]
sched: ems: ontime: Modify ontime condition structure.

- Modify the ontime condition to have each coregroup individually
- Use list_head struct instead of ontime_cond *next

Change-Id: I0e81c10af914a82d09ceedaf08975efdfb9f7e3a
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: ontime: Code clean-up for readability.
Daeyeong Lee [Tue, 8 May 2018 07:09:07 +0000 (16:09 +0900)]
sched: ems: ontime: Code clean-up for readability.

Change-Id: I93097d20d27b7899526b3569aaf99378ff6e1856
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ehmp: Check whether curr_task is perfer_perf when searching heavy task.
Daeyeong Lee [Tue, 8 May 2018 06:18:47 +0000 (15:18 +0900)]
sched: ehmp: Check whether curr_task is perfer_perf when searching heavy task.

Change-Id: Ic9cd388cc173fdca6c43ec9dec0b4db6c16df305
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agoRevert "sched: ems: Resolve prevent issue of ontime"
lakkyung.jung [Thu, 12 Jul 2018 01:46:06 +0000 (10:46 +0900)]
Revert "sched: ems: Resolve prevent issue of ontime"

This reverts commit 7798e78210369f2f81eb4d65cd1bb5e5f301efb8.

Change-Id: I17d22ed1d1d0d347e64f2d33ebc75e4ac31a00f4

6 months agosched: ems: Resolve prevent issue of ontime
Daeyeong Lee [Mon, 2 Jul 2018 04:31:07 +0000 (13:31 +0900)]
sched: ems: Resolve prevent issue of ontime

Change-Id: I6e1a00d806def40455d716d650cc813fc1b5b04d
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Use snprintf to fix buffer overflow.
lakkyung.jung [Mon, 23 Apr 2018 05:03:47 +0000 (14:03 +0900)]
[COMMON] sched: ems: Use snprintf to fix buffer overflow.

Change-Id: Ieebd6ca02aec141ca3eeb0366cf88778d94911ea
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 months ago[COMMON] sched/rt: remove the useless rq lock
Johnlay Park [Mon, 16 Apr 2018 05:53:28 +0000 (14:53 +0900)]
[COMMON] sched/rt: remove the useless rq lock

in find_lock_lowest_rq(). In an aging test, rq lock is unbalanced,
because the rq lock is released in double locking routine in
this function from rto_push_irq_work_func.

Change-Id: I338bc98fd4053aefcf8fdd4a6e991ce240d649ec
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months ago[COMMON] sched/rt: repair the core selecting algorithm
Johnlay Park [Wed, 11 Apr 2018 06:03:15 +0000 (15:03 +0900)]
[COMMON] sched/rt: repair the core selecting algorithm

including,
* reworking a rq-selecting algorithm rq for fluid rt
* fix the wrong tracing info

Change-Id: If3d9695252d019fd277a80d9d4314259fa6ced16
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months ago[COMMON] sched/rt: add the sync flag into RT
Johnlay Park [Tue, 10 Apr 2018 02:22:36 +0000 (11:22 +0900)]
[COMMON] sched/rt: add the sync flag into RT

to fulfill the cache hot benefit

Change-Id: I0bea23664b351a60b4aea3306be3d87d31efca3a
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months ago[COMMON] sched/rt: fix the problem of long stay
Johnlay Park [Mon, 9 Apr 2018 13:21:47 +0000 (22:21 +0900)]
[COMMON] sched/rt: fix the problem of long stay

in faster CPU domain.

Change-Id: Icc0c64a945efff9bf33753224ca16c9086e9b7d5
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months agosched: ems: remove exynos_fit_idlest_group()
Park Bumgyu [Fri, 13 Apr 2018 02:20:57 +0000 (11:20 +0900)]
sched: ems: remove exynos_fit_idlest_group()

Since exynos_proper_cpu() is implemented, exynos no longer calls
find_idlest_group(). Therefore, exynos_fit_idlest_group() is no
longer needed.

Change-Id: Ia04391c3406f8cfe0215fc20ea966b4a1d8c8228
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosche: ems: implement proper_cpu
Park Bumgyu [Thu, 12 Apr 2018 07:49:30 +0000 (16:49 +0900)]
sche: ems: implement proper_cpu

exynos_proper_cpu() is called last in exynos wakeup balance. This is
called when the task does not require preformance, and the prev cpu
is overutilized and does not select the energy cpu.

Since balancing is necessary, the task is sent to the cpu with the
smallest utilization in order to minimize power consumption.

Change-Id: I5ef1a3b6d295763e7c4dc0df9f871d7ef05f8c9a
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agotrace: ems: remove unused event and modify name
Park Bumgyu [Thu, 12 Apr 2018 04:59:03 +0000 (13:59 +0900)]
trace: ems: remove unused event and modify name

Change-Id: I0b5ed6ef6b0adcdf377f0bc915484e0187d3c162
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: set cpu capacity for simplified energy model
Park Bumgyu [Tue, 10 Apr 2018 01:18:38 +0000 (10:18 +0900)]
sched: ems: set cpu capacity for simplified energy model

We added the SIMPLIFIED_ENERGY_TABLE config to prevent conflicts
with existing energy model. If this config is enabled, the codes for
legacy energy model is unactivated.

Change-Id: I9b6d48334b32a50fd4cc8029d8eab85adb623a9d
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months ago[COMMON] sched/rt: remove useless retrying core selection
Johnlay Park [Fri, 6 Apr 2018 11:33:48 +0000 (20:33 +0900)]
[COMMON] sched/rt: remove useless retrying core selection

due to the RT throttling in CPU Hotplug in/out

Change-Id: I9b82bdc511cfb49d3cb9b538d4fec6917624afc6
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months ago[COMMON] sched/rt: add the online cpu condition
Johnlay Park [Fri, 6 Apr 2018 10:57:42 +0000 (19:57 +0900)]
[COMMON] sched/rt: add the online cpu condition

Change-Id: I32df8e8e32a09b4613108e99e8ad3cfaa5bfcd80
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months ago[COMMON] sched/rt: add a trace point for FRT algorithm
Johnlay Park [Fri, 6 Apr 2018 07:10:14 +0000 (16:10 +0900)]
[COMMON] sched/rt: add a trace point for FRT algorithm

for optimizing the system performance

Change-Id: I70c7a5f5c06b84e40689030e2186faee14a75c26
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months ago[COMMON] sched/rt: enforcing the rt task serialization
Johnlay Park [Fri, 6 Apr 2018 07:05:14 +0000 (16:05 +0900)]
[COMMON] sched/rt: enforcing the rt task serialization

to maximize the cache hot benifit.

Change-Id: Idf4854b442bcefe67f6ed7488d154a328d429c44
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months agoRevert "[9820] sched: core: fix bug that rt could not be binded to little"
Johnlay Park [Thu, 5 Apr 2018 11:56:20 +0000 (20:56 +0900)]
Revert "[9820] sched: core: fix bug that rt could not be binded to little"

This reverts commit 5933bc155713c86efe99c096ca7ff7421ca53f46

Change-Id: Ib4d852432562747b74472f2dd2c32abd8ea5d4f3

6 months agosched: ems: remove ehmp.c
Park Bumgyu [Fri, 6 Apr 2018 05:46:25 +0000 (14:46 +0900)]
sched: ems: remove ehmp.c

EHMP(Exynos HMP) was replaced by EMS(Exynos Mobile Scheduler).
Delete existing ehmp.c.

Change-Id: I437b4b5f0572525f4f692c4a8242c5525f3e2140
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: move active balance to ems
Park Bumgyu [Fri, 6 Apr 2018 06:02:28 +0000 (15:02 +0900)]
sched: ems: move active balance to ems

Move the active balance related code from ehmp.c to core.c of ems.
ehmp.c will be removed.

Change-Id: I6a01db308b3c889f01da642fa3b96df93dc6432f
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: integrate common API
Park Bumgyu [Fri, 6 Apr 2018 05:15:09 +0000 (14:15 +0900)]
sched: ems: integrate common API

Commonly used APIs are delcared redundantly in several files in EMS.
It is integrated into core.c.

Change-Id: Ic42d508d1083f9321c856452f50731c2a9fa9adf
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: seperate task util initiialization
Park Bumgyu [Fri, 6 Apr 2018 05:41:30 +0000 (14:41 +0900)]
sched: ems: seperate task util initiialization

Seperate code related to task util initialization to facilitate
code management.

Change-Id: I86244fe3169467b74baca6a34b968ef04c495586
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months ago[9820] sched: core: fix bug that rt could not be binded to little
Youngtae Lee [Wed, 28 Jun 2017 10:35:54 +0000 (03:35 -0700)]
[9820] sched: core: fix bug that rt could not be binded to little

Current rt little binding code is working
when target task is on runqueue. Remove this condition
to all rt tasks bind to little.

Change-Id: I2f1883e2e8dffef25920848f6ef87b38a231ff0c
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 months ago[COMMON] sched/rt : fix unnecessary operation for PELT
Soohyun Kim [Wed, 28 Mar 2018 07:15:33 +0000 (16:15 +0900)]
[COMMON] sched/rt : fix unnecessary operation for PELT

Change-Id: I3579565f8025b151b303862a710374963197731e
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
6 months agosched: ems: separate energy coefficient cpu selection
Park Bumgyu [Fri, 6 Apr 2018 04:46:39 +0000 (13:46 +0900)]
sched: ems: separate energy coefficient cpu selection

Separate code related to energy conefficient cpu selection to
facilitate code management.

Change-Id: I0a18490da3f178483108c6cb8c34b904cbaca3d6
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: build simplified energy table
Park Bumgyu [Thu, 5 Apr 2018 11:01:19 +0000 (20:01 +0900)]
sched: ems: build simplified energy table

The simplified energy table only considers the compute capacity and power
of the cpu. When the frequency domain is registered, an energy table is
created dynamically.

Change-Id: Ifbd466dbd6ba0e496f98f17e3dd3b2850ab3ceea
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: parsing energy data to build energy table
Park Bumgyu [Thu, 5 Apr 2018 06:33:08 +0000 (15:33 +0900)]
sched: ems: parsing energy data to build energy table

To build energy table, parse the mips and coefficient from device tree.

Change-Id: If7db3c4d67cb62a983cccd452ce2546feabe5e27
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: avoid to access empty energy table
Park Bumgyu [Thu, 5 Apr 2018 05:36:40 +0000 (14:36 +0900)]
sched: ems: avoid to access empty energy table

Accessing the energy table without allocation cause a NULL pointer
exception. energy_table.nr_states have values after the energy table
created, so check the nr_states to avoid problem.

Change-Id: I90d6c9b8ff5ac0eb67b92ab0bb57b911d8f65091
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months ago[COMMON] sched: ems: Modify trace log name of EMS feature
Daeyeong Lee [Fri, 6 Apr 2018 06:47:37 +0000 (15:47 +0900)]
[COMMON] sched: ems: Modify trace log name of EMS feature

Change-Id: I8641050a38bccaa26bac3016e52c10a223e14353
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: support find energy efficient cpu
Park Bumgyu [Tue, 27 Mar 2018 03:50:03 +0000 (12:50 +0900)]
sched: ems: support find energy efficient cpu

Based on the task utilization, it is a function to find the cpu with
the least energy efficiency considering cpu cpacity and power.

Change-Id: I28c333f8f6881ea4aaaf57361cc612975dc35c26
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: renewal prefer perf
Park Bumgyu [Fri, 23 Mar 2018 07:23:43 +0000 (16:23 +0900)]
sched: ems: renewal prefer perf

Modify the structure of prefer perf to work with PCF

Change-Id: Ic26874ecd074645031ecac933999f5e488f4f2b1
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: renewal global boost
Park Bumgyu [Fri, 23 Mar 2018 05:07:09 +0000 (14:07 +0900)]
sched: ems: renewal global boost

Modify the structure of global boost to work with PCF. Accordingly,
the range of value is changed from 0~100 to 0/1.

Change-Id: I2a5d35cfeb69a9b9ca9d5e1d043f49ee4d3d4ff9
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ems: support PCF(Performance CPU Finder)
Park Bumgyu [Fri, 23 Mar 2018 05:08:55 +0000 (14:08 +0900)]
sched: ems: support PCF(Performance CPU Finder)

PCF(Performance CPU Finder) provides the ability to find the highest
performance cpu at any given moment. Currently, it is composed of a
selection algorithm based on distributed processing.

Change-Id: Iaaaedd12fee9fe0829db9dd1f7cb72993581a51e
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months ago[COMMON] sched: ems/st_addon: Add core assignment policy for prefer_idle task.
lakkyung.jung [Wed, 28 Mar 2018 04:13:21 +0000 (13:13 +0900)]
[COMMON] sched: ems/st_addon: Add core assignment policy for prefer_idle task.

Change-Id: I9179e123b6a04b5ead9605a61e0277c9c9949882
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 months ago[COMMON] sched: ems: New function to check whether task make cpu overutilize
Daeyeong Lee [Tue, 27 Mar 2018 09:46:50 +0000 (18:46 +0900)]
[COMMON] sched: ems: New function to check whether task make cpu overutilize

The lbt_bring_overutilize function checks whether the CPU will be overutilized
at all levels when a task is added to the CPU.

Change-Id: Idbeb0f06f65ab7a807d85f4e76fc1fb8931d12f7
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Move lbt/ontime node from ehmp to ems
Daeyeong Lee [Fri, 23 Mar 2018 07:28:34 +0000 (16:28 +0900)]
[COMMON] sched: ems: Move lbt/ontime node from ehmp to ems

Change-Id: I3422985e2cd8f2d1235f983934af5b401326a7b9
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Disable ontime feature if ontime node isn't in DT
Daeyeong Lee [Thu, 22 Mar 2018 10:18:13 +0000 (19:18 +0900)]
[COMMON] sched: ems: Disable ontime feature if ontime node isn't in DT

Change-Id: If7440f36447b73c6e7b8d77bf048b249764bc681
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Use default ratio if lbt node isn't in DT
Daeyeong Lee [Thu, 22 Mar 2018 12:13:30 +0000 (21:13 +0900)]
[COMMON] sched: ems: Use default ratio if lbt node isn't in DT

Change-Id: I50c6b0547788eaf329eb6cabb311288f4863b3ef
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Separate On-time feature into ontime.c
Daeyeong Lee [Fri, 23 Mar 2018 07:15:25 +0000 (16:15 +0900)]
[COMMON] sched: ems: Separate On-time feature into ontime.c

Change-Id: I8afdbca1a3c4a042784544fd062913c4f8bbedee
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: fair: ontime task must wake up from specified target_cpu
Daeyeong Lee [Tue, 13 Mar 2018 09:43:31 +0000 (18:43 +0900)]
[COMMON] sched: fair: ontime task must wake up from specified target_cpu

Change-Id: I49b6cbe6d77b1a4887d50dc0c65206cccaf51f71
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched/rt: introduce FRT scheduler
Johnlay Park [Thu, 22 Mar 2018 14:53:43 +0000 (23:53 +0900)]
[COMMON] sched/rt: introduce FRT scheduler

Cpu selection logic change for fluid scheduling.
Fluid RT Scheduler consider task load for core selection
and it can victim higher priority rt task.
because Fluid RT scheduler make a decision through
weighted load by priority.

Change-Id: I40c3c93d4fcf985b0002796748037cacd04e813e
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 months ago[COMMON] sched: ems: Separate LBT feature into lbt.c
Daeyeong Lee [Fri, 23 Mar 2018 07:10:55 +0000 (16:10 +0900)]
[COMMON] sched: ems: Separate LBT feature into lbt.c

Change-Id: Id4b7b40f06418d4d1c46c3170999942ccb895f5b
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Modify to create ontime sysfs node dynamically
Daeyeong Lee [Thu, 22 Mar 2018 04:44:14 +0000 (13:44 +0900)]
[COMMON] sched: ems: Modify to create ontime sysfs node dynamically

Change-Id: I15a1727ae54f45686e6d61f3e4159a841b39ba46
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Modify to create lbt sysfs node dynamically
Daeyeong Lee [Wed, 21 Mar 2018 06:28:58 +0000 (15:28 +0900)]
[COMMON] sched: ems: Modify to create lbt sysfs node dynamically

Change-Id: I9553139a23fe807beb5ee4ff47d7f4b31813850d
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ems: Create sysfs directory of ontime/lbt
Daeyeong Lee [Tue, 20 Mar 2018 09:51:21 +0000 (18:51 +0900)]
[COMMON] sched: ems: Create sysfs directory of ontime/lbt

Change-Id: I68162de1f59ddc5d29efce3350a90357023b9804
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months agosched: ems: add wakeup balance
Park Bumgyu [Fri, 23 Mar 2018 02:13:19 +0000 (11:13 +0900)]
sched: ems: add wakeup balance

Wakeup balance is a scheme that determines which cpu to assign waking
up task or new task to. In fact, it corresponds to the main stream of
EMS. The current patch is skeleton code, and each function will be
reflected.

Change-Id: Ib176e03c94af2d45476bb8b9747b53167e8ff2a9
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: change exynos scheduler name from EHMP to EMS
Park Bumgyu [Thu, 22 Mar 2018 05:43:33 +0000 (14:43 +0900)]
sched: change exynos scheduler name from EHMP to EMS

Rename Exynos scheduler. Existing EHMP(Exynos HMP) was a scheduler
considering only HMP chipset. EMS(Exynos Mobile Scheduler) will support
all chipsets regardless of cluster and core configuration.

Change-Id: I2802ddcd9e401a0d92f9c98656b5e591d429d6ce
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months agosched: ehmp: fix build error when ehmp was disabled.
lakkyung.jung [Mon, 29 Jan 2018 13:07:42 +0000 (22:07 +0900)]
sched: ehmp: fix build error when ehmp was disabled.

Change-Id: If7ec0ffe282781ab3bb0d5a845a98603aad66725
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 months agosched: ems: build skeleton for EMS
Park Bumgyu [Wed, 21 Mar 2018 06:25:47 +0000 (15:25 +0900)]
sched: ems: build skeleton for EMS

Change-Id: I0e79d33aa1e5f64a9621773916d0546c1b0c8d20
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 months ago[COMMON] sched: ems: Fix bug of ontime_task_wakeup
Daeyeong Lee [Tue, 27 Mar 2018 08:25:24 +0000 (17:25 +0900)]
[COMMON] sched: ems: Fix bug of ontime_task_wakeup

Despite not finding target_cpu, there was a hole to include the task in ontime.
The code to defenc it is added.

Change-Id: Ibf6aec93eedd2d7f8c9f45e2e4acc26705733838
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ehmp: Add trace log of ontime_task_wakeup
Daeyeong Lee [Tue, 13 Mar 2018 04:00:46 +0000 (13:00 +0900)]
[COMMON] sched: ehmp: Add trace log of ontime_task_wakeup

Change-Id: I71ae8e7e8dab77f9771808676c1a14fe79a4c6e7
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ehmp: Modify ontime_task_wakeup to remove topology dependencies
Daeyeong Lee [Mon, 12 Mar 2018 13:56:35 +0000 (22:56 +0900)]
[COMMON] sched: ehmp: Modify ontime_task_wakeup to remove topology dependencies

Change-Id: Iccc9abce05adc6e0d15264eafa1bd6001c707481
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ehmp: Modify cpu of ontime_entity should be mangaged
Daeyeong Lee [Mon, 12 Mar 2018 12:52:26 +0000 (21:52 +0900)]
[COMMON] sched: ehmp: Modify cpu of ontime_entity should be mangaged

Change-Id: I6c2c23e5117d387f8deb9d7995a7377174a06e80
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ehmp: Refactoring On-time feature to remove topology dependencies
Daeyeong Lee [Fri, 9 Mar 2018 06:34:30 +0000 (15:34 +0900)]
[COMMON] sched: ehmp: Refactoring On-time feature to remove topology dependencies

Change-Id: I0112dd25891af4c4010444dca890b1fb38fdb6a7
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ehmp: Add trace log of lbt_overutilized
Daeyeong Lee [Tue, 13 Mar 2018 10:13:41 +0000 (19:13 +0900)]
[COMMON] sched: ehmp: Add trace log of lbt_overutilized

Change-Id: I6b6e1ef69679de27b14eee7c8629e760a1fe8c98
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: fair: Support improved LBT feature
Daeyeong Lee [Thu, 8 Mar 2018 11:42:13 +0000 (20:42 +0900)]
[COMMON] sched: fair: Support improved LBT feature

Change-Id: Ifc2b9e58a43e41128bde7a2c92e897684c25aecf
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ehmp: Modify need_active_balance to use lbt_overutilized
Daeyeong Lee [Tue, 13 Mar 2018 10:56:50 +0000 (19:56 +0900)]
[COMMON] sched: ehmp: Modify need_active_balance to use lbt_overutilized

Change-Id: I192607e7f51f2125241728cbbeb33f0c2c707c76
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: ehmp: Refactoring LBT feature to remove topology dependencies
Daeyeong Lee [Mon, 5 Mar 2018 08:41:06 +0000 (17:41 +0900)]
[COMMON] sched: ehmp: Refactoring LBT feature to remove topology dependencies

Change-Id: I1d59cce214221bfe64a48c2ff34bb14ad6e4c34f
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 months ago[COMMON] sched: fair/ehmp: Add to estimate core/cluster power down.
lakkyung.jung [Wed, 14 Mar 2018 04:46:14 +0000 (13:46 +0900)]
[COMMON] sched: fair/ehmp: Add to estimate core/cluster power down.

after moving task, previous cpu/cluster can be powered down.
so it should be consider it when idle power was calculated.

Change-Id: I13d954a1640940a7be93d0429248be8802fd615c
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>