GitHub/LineageOS/android_kernel_motorola_exynos9610.git
7 months ago[RAMEN9610-9418][COMMON] sched: frt: Fix zero dividing bug
Youngtae Lee [Mon, 15 Oct 2018 06:21:01 +0000 (15:21 +0900)]
[RAMEN9610-9418][COMMON] sched: frt: Fix zero dividing bug

Change-Id: Id738b19174de909113aa8c5224a3e57f1762073d
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months ago[RAMEN9610-9418][COMMON] sched: frt: fix cpumask warnning bug
Youngtae Lee [Mon, 8 Oct 2018 06:57:12 +0000 (15:57 +0900)]
[RAMEN9610-9418][COMMON] sched: frt: fix cpumask warnning bug

Change-Id: I27eb08fdcbe6ce7b35a09a38b2aa2fb4b90e76a7
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months ago[RAMEN9610-9418][COMMON] sched: ems: Disable ontime when capacity of coregroup is...
Daeyeong Lee [Mon, 15 Oct 2018 06:38:00 +0000 (15:38 +0900)]
[RAMEN9610-9418][COMMON] sched: ems: Disable ontime when capacity of coregroup is zero

Change-Id: I22c3b9d97ca5b5f598436cfb06062b9cb24f2ff6
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[RAMEN9610-9418][COMMON] sched: ems: Modify get_cpu_max_capacity not to access NULL...
Daeyeong Lee [Mon, 15 Oct 2018 06:36:06 +0000 (15:36 +0900)]
[RAMEN9610-9418][COMMON] sched: ems: Modify get_cpu_max_capacity not to access NULL point

Change-Id: I2a88779e24ba4f30d0423224d3cdc78aea6e586a
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[RAMEN9610-9418][COMMON] ems: frt: fix initialize variable for check condition
Sangkyu Kim [Fri, 9 Nov 2018 09:49:41 +0000 (18:49 +0900)]
[RAMEN9610-9418][COMMON] ems: frt: fix initialize variable for check condition

Change-Id: I330d6250f3a8873ffd0bdbb1bca524db6ca56d7d
Signed-off-by: Sangkyu Kim <skwith.kim@samsung.com>
7 months agosched: rt: fix prevent
Youngtae Lee [Fri, 12 Oct 2018 02:27:15 +0000 (11:27 +0900)]
sched: rt: fix prevent

Change-Id: Ia34ab264f22a956c45a654d9e4d5e737c5629822
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months agoems: frt: sync for latest
Sangkyu Kim [Mon, 8 Oct 2018 11:18:04 +0000 (20:18 +0900)]
ems: frt: sync for latest

Change-Id: I6bfc7af78625019ad1e81823e257c11f4a124e11
Signed-off-by: Sangkyu Kim <skwith.kim@samsung.com>
7 months agoems: frt: Disable cache-hot
Youngtae Lee [Mon, 17 Sep 2018 09:42:57 +0000 (18:42 +0900)]
ems: frt: Disable cache-hot

Change-Id: I8ee0adc10fbac465eef46bae604d301cc827cd25
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months agoems: frt: Change cache-hot check conditon
Youngtae Lee [Fri, 14 Sep 2018 08:50:28 +0000 (17:50 +0900)]
ems: frt: Change cache-hot check conditon

Change-Id: I35f05c4843e548dee12d047e0cdbd7d7678a3e2a
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months agoems: frt: Add exception condition for frt init
Youngtae Lee [Thu, 13 Sep 2018 10:00:36 +0000 (19:00 +0900)]
ems: frt: Add exception condition for frt init

Change-Id: Ic69f786a4098e518fc043cc335339b6ef4822ba9
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months agosched: frt: Fix loop condition to use domain pointer
Youngtae Lee [Fri, 7 Sep 2018 05:20:14 +0000 (14:20 +0900)]
sched: frt: Fix loop condition to use domain pointer

Change-Id: Ie4646c26f21438c7bbaad84ff70ad1056e0f0912
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months agoems: frt: Support activated_cpus to reflect system_idle
Youngtae Lee [Thu, 6 Sep 2018 00:51:34 +0000 (09:51 +0900)]
ems: frt: Support activated_cpus to reflect system_idle

If cluster A is idle and cluster B slower than cluster A is also idle,
frt removes cpus of cluster A from prefer_cpus.
and then "find_idle_cpu" selects idle cpu among activated_cpus.

Change-Id: If321de699b11202c5156e2beb1e7dfa543acd223
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months ago[COMMON] sched: ems: Disable ontime and lbt when using core control.
Soohyun Kim [Fri, 7 Sep 2018 00:03:45 +0000 (09:03 +0900)]
[COMMON] sched: ems: Disable ontime and lbt when using core control.

Change-Id: I390d6cebaa2db2ff692ea13da6658793edc48e62
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
7 months agosched: rt: Refactoring select idle cpu and recessive cpu
Youngtae Lee [Thu, 9 Aug 2018 02:11:05 +0000 (11:11 +0900)]
sched: rt: Refactoring select idle cpu and recessive cpu

Implement init code for sysfs, dt to
support multi min_thr to detect heavy rt task
change loop and condition for find_idle_cpu/find_recessive_cpu

Change-Id: I4ca5525c4275115c74f9c1577a8f716275526b9a
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months ago[COMMON] sched: ems: Use get_cpu_max_capacity instead of get_cpu_mips
Daeyeong Lee [Mon, 3 Sep 2018 06:24:06 +0000 (15:24 +0900)]
[COMMON] sched: ems: Use get_cpu_max_capacity instead of get_cpu_mips

Change-Id: I911e849159eaf4b8941b919e0dbe1b7024b98236
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[COMMON] sched: ems: Modify ontime_can_migration condition
Daeyeong Lee [Mon, 3 Sep 2018 06:18:48 +0000 (15:18 +0900)]
[COMMON] sched: ems: Modify ontime_can_migration condition

Change-Id: I8e4c0fd4843fd5b84f6a8d1340b11f7f1a1b800b
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[COMMON] sched: ems: Change how to select ontime target CPU
Daeyeong Lee [Mon, 3 Sep 2018 06:13:16 +0000 (15:13 +0900)]
[COMMON] sched: ems: Change how to select ontime target CPU

Change-Id: I2e36d26feb1858de6f8a912a9365627927f4e9f3
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[COMMON] sched: ems: Change ontime policy and algorithm
Daeyeong Lee [Mon, 3 Sep 2018 06:07:27 +0000 (15:07 +0900)]
[COMMON] sched: ems: Change ontime policy and algorithm

- If the task is above upper_boudnary of task's cpu,
  Any coregroup with a higher mips than task's cpu can be a candidates.
- If there are multiple candidate coregroups,
  calculate energy and select the most efficient CPU.
- If the task is below lower_boundary of task's cpu,
  leave it to the core selection afterwards.

Change-Id: I38667d4382692115d74ec27eaa4169e6124bd749
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[COMMON] sched: ems: Change calculate_energy function to an extern declaration
Daeyeong Lee [Wed, 1 Aug 2018 11:08:36 +0000 (20:08 +0900)]
[COMMON] sched: ems: Change calculate_energy function to an extern declaration

Change-Id: I3004c525cac85ef5747205494ac639dda8852857
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[COMMON] sched: ems: Modify ontime migration to apply to each cgroup individually.
Daeyeong Lee [Mon, 3 Sep 2018 05:45:36 +0000 (14:45 +0900)]
[COMMON] sched: ems: Modify ontime migration to apply to each cgroup individually.

Change-Id: I268c50933dbe11b81c89857c721745df3bf01b69
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months ago[COMMON] sched: ems: allow to disable up/down ontime migration
Daeyeong Lee [Mon, 3 Sep 2018 05:34:54 +0000 (14:34 +0900)]
[COMMON] sched: ems: allow to disable up/down ontime migration

Change-Id: I9ba1208a89421829855c2070ba4d40695cc77fc3
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
7 months agosched: frt: Fix condition to select idle_cpu and recessive_cpu
Youngtae Lee [Wed, 22 Aug 2018 01:59:43 +0000 (10:59 +0900)]
sched: frt: Fix condition to select idle_cpu and recessive_cpu

Fix bug that doesn't applying active_mask while selects
idle_cpu and recessive_cpu

Change-Id: I7b26ab2622f4d1288a7277a23a7d9668bc4e9526
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 months agosched: rt: Refactoring select idle cpu and recessive cpu
Youngtae Lee [Thu, 9 Aug 2018 02:11:05 +0000 (11:11 +0900)]
sched: rt: Refactoring select idle cpu and recessive cpu

Implement init code for sysfs, dt to
support multi min_thr to detect heavy rt task
change loop and condition for find_idle_cpu/find_recessive_cpu

Change-Id: I91e5199c9a86849025af7271c0e6aeeee6b3f966
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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.

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>