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