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>
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>
Johnlay Park [Fri, 2 Mar 2018 04:32:13 +0000 (13:32 +0900)]
[COMMON] sched/rt: trace: add tracepoint for RT task
Change-Id: I82c5fe708671e00b8f655f40459272c0dcc8b584
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Wed, 28 Feb 2018 13:06:47 +0000 (22:06 +0900)]
[COMMON] sched/rt: hooking cpufreq callback
The cpufreq hook should be called any time the root RT rq utilization
changes. This can occur when a task is switched to or from the rt
class, or a task moves between groups or CPUs, but these paths
currently do not call the cpufreq hook.
Refer I9e6ef6f34157d8bd51f385c5340756090ec050fe
Change-Id: Ibe6b36c133aa7b90962cb188a0b95fcd779e9d2a
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Wed, 28 Feb 2018 11:52:41 +0000 (20:52 +0900)]
[COMMON] sched/rt: add API of propagating of RT TG tree
And remove_load_avg used for inheriting the load between
RT and FAIR task pelt load
Change-Id: Ic30db1ba0e7eb146617bff233842137222c30044
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Wed, 28 Feb 2018 07:03:52 +0000 (16:03 +0900)]
[COMMON] sched/rt: update sched_rt_entity
For task changing its policy or group
Change-Id: I594332064c172bce50f0d4b8134e992a52c2576d
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Wed, 28 Feb 2018 03:59:36 +0000 (12:59 +0900)]
[COMMON] sched/rt: Enable config for change sched group
Change-Id: I3212ac413dbb8dad7e4c89aae1684f65d93e09f9
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Wed, 28 Feb 2018 03:54:30 +0000 (12:54 +0900)]
[COMMON] sched/rt: Use pelt RT b/w in scale_rt_capacity
Remove rt tasks from rt_avg metric and directly use the average
b/w of rt scheduler in scale_rt_capacity
Change-Id: Ibcb772c15251aae8924ef1580bf81c9f05a26eb8
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Tue, 27 Feb 2018 12:53:22 +0000 (21:53 +0900)]
[COMMON] sched/rt: fix !CONFIG_64BIT last_update_time update
Special care must be given to last_update_time on 32BIT
configurations. Add such special treatment as in FAIR.
CAUTIONS: not actually tested on !CONFIG_64BIT
refer the I5728e02a00670ad20f93b4fe9b2d0ea697a66b87
Change-Id: I490c62b207e452f881b8acd07252aa4408b2fa83
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Tue, 27 Feb 2018 12:24:13 +0000 (21:24 +0900)]
[COMMON] sched/{fair,rt}: copy sched avg data across switches between class
When switching a task between FAIR and RT, its sched avg data
has to be copied over, so that per-class PELT always works on
updated data.
Refer the I7561e16ceca2635a50f57e9361d351f22f991651
Change-Id: Id4f7c96c87c97441901b8dd8110ba2aed9ccf247
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Tue, 27 Feb 2018 06:57:52 +0000 (15:57 +0900)]
[COMMON] sched/rt: migrate utilization in task migration
Implement removal of utilization from src rt_rq and
addition to the same to dst_rq.
Refer the Ic4757299f0561f13e58671b9a163c00d10c6a147
Change-Id: I4be0b776c96d1871e246a50255e23d007dcee0e3
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Mon, 26 Feb 2018 01:32:14 +0000 (10:32 +0900)]
[COMMON] sched/rt: Initializing RT Task load
Change-Id: Ic59923ac76d690811fda9fc0228a2dea152948c9
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Fri, 23 Feb 2018 11:04:10 +0000 (20:04 +0900)]
[COMMON] sched/rt: Adding task_change_group for RT
Change-Id: I4723d85597b86d2ac7914470dd01fcfddd573da0
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Fri, 23 Feb 2018 11:01:29 +0000 (20:01 +0900)]
[COMMON] sched/rt: Sharing the primitives in common
Such as, add/sub positive, which used in fair class
exclusively.
Change-Id: I18fdc114e702013adbb4cd2cb2b3dde3805fa693
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Thu, 22 Feb 2018 12:54:10 +0000 (21:54 +0900)]
[COMMON] sched/rt: Tracking the rt task load
On each task activity, rt load is also tracked
Change-Id: I3f1fe1be40ef7a28df88c309821579efa0812e00
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Thu, 22 Feb 2018 12:15:15 +0000 (21:15 +0900)]
[COMMON] sched/rt: Introduce pelt load for rt
To activate the FRT (Fluid Real Time) scheduler, task load
for RT task is also necessary for the fluidic scheduling.
Change-Id: I82a998bf9253d54c6858ab9dcd8eaa5b99ecb4a6
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
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>
Soohyun Kim [Tue, 27 Mar 2018 15:09:33 +0000 (00:09 +0900)]
[COMMON] cpufreq: acme: add online check about domain cpus.
Change-Id: Id7fc67da1f4c0500dac03f944e061a2844fc479f
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Soohyun Kim [Fri, 23 Mar 2018 06:04:42 +0000 (15:04 +0900)]
[COMMON] cpufreq_schedutil: select alive cpu for scaling.
Change-Id: I42b75111f30c9921d858459db883ebdffad83798
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Hyeonseong Gil [Fri, 16 Mar 2018 12:00:16 +0000 (21:00 +0900)]
[COMMON] cpufreq: acme: register/unregister cpu_cooling
Change-Id: I259196e71acb3348a9e9868824b476be7ff49bef
Signed-off-by: Hyeonseong Gil <hs.gil@samsung.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Daeyeong Lee [Mon, 19 Feb 2018 13:27:15 +0000 (22:27 +0900)]
[COMMON] soc: samsung: topology: Configure exynos_topology based on DT
Change-Id: If9b7e2086e99e5b9ac1e8348c58da7eee363e490
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 19 Feb 2018 11:37:14 +0000 (20:37 +0900)]
[COMMON] soc: samsung: topology: Modify sched_domain_energy_f to use SD_LEVEL dynamically
Change-Id: Ie2c138d11cb9a51cd3d3ecb3c1d9f9fbe11bdefb
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Wed, 14 Feb 2018 07:57:05 +0000 (16:57 +0900)]
[COMMON] soc: samsung: topology: Refactoring DT parsing function
Change-Id: I48917bddb20370547ef2be35b9d0a66263434f89
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 20 Feb 2018 06:20:46 +0000 (15:20 +0900)]
[COMMON] soc: samsung: topology: Modify to not support mpidr to configure cpu_topology
Change-Id: I247c35e5ecacfab2946ffef02f7fab7f21a062c8
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 19 Feb 2018 12:15:07 +0000 (21:15 +0900)]
[COMMON] soc: samsung: topology: Remove SYS level in topology hierarchy
Change-Id: I26693ab9f5f8a687ec2d80e964a5c492275c5333
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 13 Feb 2018 11:25:25 +0000 (20:25 +0900)]
[COMMON] soc: samsung: topology: Add cpu_coregroup_energy
Change-Id: Id4217ed4887e37a74971a35c6a3c931ddeafbbd6
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 13 Feb 2018 06:53:07 +0000 (15:53 +0900)]
[COMMON] soc: samsung: topology: Add cluster_flags
Change-Id: If2ce37ef3f6a8ec6b51eccf05f4e24cbeeb1219c
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 13 Feb 2018 06:50:41 +0000 (15:50 +0900)]
[COMMON] base: arch_topology: Add sched_domain flag detection for cluster
Change-Id: Iade8db08000fd74c10030475fe2377babb5a59eb
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 12 Feb 2018 10:25:54 +0000 (19:25 +0900)]
[COMMON] soc: samsung: topology: Add DSU level in topology hierarchy
Change-Id: I4fa8c4ecdc4638da00375e62827d577489e6fcf1
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 12 Feb 2018 08:06:10 +0000 (17:06 +0900)]
[COMMON] soc: samsung: topology: Initialize coregroup_id and cluster_sibling
Change-Id: I61a8aba2f192e05d01db5ba47d43402b84c8213e
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 12 Feb 2018 07:15:50 +0000 (16:15 +0900)]
[COMMON] topology: sysfs: Provide coregroup_id and cluster_siblings attributes
Change-Id: I28e6e81486a0eabc600462fff08994ca5669b2df
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 12 Feb 2018 07:12:55 +0000 (16:12 +0900)]
[COMMON] arm64: topology: Add coregroup_id and cluster_sibling
Change-Id: I01ae62a259dd96356b226454d9301fa822ce0eff
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 12 Feb 2018 06:27:44 +0000 (15:27 +0900)]
[COMMON] soc: samsung: topology: Remove SMT level in topology hierarchy
Change-Id: I88be094c2e0cd1482411e4946b68aec56413f4fa
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Wed, 7 Feb 2018 08:15:34 +0000 (17:15 +0900)]
[COMMON] soc: samsung: topology: Make new CPU topology support for ARCH_EXYNOS
Change-Id: I02fb470e14ca0bd556782ef9f75d1e2c9448bc18
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Youngtae Lee [Tue, 30 Jan 2018 08:15:12 +0000 (17:15 +0900)]
Revert "cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task"
This reverts commit
02a7b1ee3baa15a98b541d8cfd156bbe1a091c20.
Change-Id: I33dd4543bc56f7be867bfeb9bf4ff63350405f11
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
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>
lakkyung.jung [Wed, 14 Mar 2018 04:18:58 +0000 (13:18 +0900)]
[COMMON] cpuidle: Add to get target residency for cpu.
Change-Id: I9c59acd8bdda34d7071d8512c8551dcb76eee5b5
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Tue, 13 Mar 2018 11:35:22 +0000 (20:35 +0900)]
[COMMON] sched: fair/ehmp: Consider cpu capacity when idlest group finds.
Change-Id: I2f168aced04ade3321adcd3408ce2da344d4ab3b
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Tue, 13 Mar 2018 10:05:13 +0000 (19:05 +0900)]
[COMMON] sched: fair: Adjust average load considering CPU capacity.
Change-Id: Id606bb8ebe305f684ed097da5fd7fa809eae5f17
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Tue, 13 Mar 2018 09:46:17 +0000 (18:46 +0900)]
[COMMON] sched: fair: Modify condition of group_is_overloaded for idle cpu.
If the idle cpu(CPU_NEWLY_IDLE/CPU_IDLE) performs load balancing,
the group is considered an overload group if the group has more
tasks than it can handle.
Change-Id: I25ae84ade65321234ee6e306e7234a238d8e2183
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 26 Feb 2018 11:35:49 +0000 (20:35 +0900)]
sched: ehmp: Add to select initial util type for new task.
Change-Id: Idd792099fb636585f2d620ae7fd3f8405cec142f
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 29 Jan 2018 13:40:38 +0000 (22:40 +0900)]
sched: ehmp/fair: refactor exynos_select_cpu.
Change-Id: I496b0cd4e3890285d9f73b9d5c9f11b6b5c9e888
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
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>
Park Bumgyu [Fri, 19 Jan 2018 01:45:26 +0000 (10:45 +0900)]
[HACK] [COMMON] samsung: support Power Management for exynos
Change-Id: Ic85e130e0d9e80af5ad03706572794578699957c
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Wed, 14 Mar 2018 10:45:28 +0000 (19:45 +0900)]
cpufreq: acme: disable cluster-wide power mode while getting/setting frequency
Change-Id: I0d999d112d4785544e3f89b41055e51f55bf1921
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Wed, 14 Mar 2018 10:30:41 +0000 (19:30 +0900)]
cpufreq: acme: move domain id increment
If acme fail to initialize cpufreq domain, domain id does not
increase. Move domain id increment to fix it.
Change-Id: I0cbc1f80452a71195bea010020d93178a268eabb
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Wed, 14 Mar 2018 06:04:43 +0000 (15:04 +0900)]
cpufreq: acme: add ready/exit callback
ready/exit callback will be used by thermal.
Change-Id: Ieab321d3d49c25a2772569b0f7c7cb701e0acda0
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Johnlay Park [Wed, 14 Mar 2018 01:52:35 +0000 (10:52 +0900)]
cpufreq: acme: remove cooling device registration
Change-Id: I073da61cddf7a4f9d97418fda0d723a4033861f2
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Hyeonseong Gil [Wed, 28 Feb 2018 00:29:22 +0000 (09:29 +0900)]
[COMMON] cpufreq: acme: remove enum dm_type
Change-Id: Ifce38d2a6c218b7f74f8e9a5ad6f9fb9d901cf09
Signed-off-by: Hyeonseong Gil <hs.gil@samsung.com>
Hyeonseong Gil [Tue, 27 Feb 2018 09:04:58 +0000 (18:04 +0900)]
[COMMON] cpufreq: acme: Use devdata from dm_scaler
It can be used devdata directly from the sclaer function.
Added devdata register at exynos_dm_data_init().
Change-Id: I35965a1e4011366b0e16af7e22f6312319b4363a
Signed-off-by: Hyeonseong Gil <hs.gil@samsung.com>
Soohyun Kim [Wed, 24 Jan 2018 04:37:53 +0000 (13:37 +0900)]
cpufreq: acme: change API for cpuhotplug
Change-Id: I9df99631bf827de8ced627f91d1fa8ba6a645c8b
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Eunseok Choi [Tue, 23 Jan 2018 13:19:24 +0000 (22:19 +0900)]
cpufreq: acme: register cpufreq cooling device
Change-Id: I039e4db41c7db0a634e0e35d77000c576d63c514
Signed-off-by: Eunseok Choi <es10.choi@samsung.com>
Soohyun Kim [Mon, 22 Jan 2018 10:56:58 +0000 (19:56 +0900)]
cpufreq: acme: change API for cooling device registration
Change-Id: Ib52c8ca4209ef88ee85dcb3094d192899e4a2f9a
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Soohyun Kim [Fri, 9 Mar 2018 03:39:01 +0000 (12:39 +0900)]
soc: cpupm: Fix build error.
Build error occured when CONFIG_CPU_IDLE is disabled.
So, distinguish the build area use by config.
Change-Id: Id0c30d53813b29b4899665ceca3ac9fbd662eda2
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
lakkyung.jung [Fri, 11 May 2018 09:30:28 +0000 (18:30 +0900)]
[9610] arm64: dts: Add CPUIDLE feature.
Change-Id: I97301d80eeb6a2f121e215c7fe670ea3196d6475
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Park Bumgyu [Mon, 26 Feb 2018 07:13:32 +0000 (16:13 +0900)]
HACK: handle big reset control
In prior chips, only big cluster supports CPD(Cluster Power Down),
therefore, big_reset_control() is called in cluster_enable/disable
function. It should be changed to consider cluster.
Change-Id: I75a50df68a44aceabb41b06fd9d66cb65aaf7de2
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
lakkyung.jung [Fri, 11 May 2018 09:21:00 +0000 (18:21 +0900)]
[9610] arm64: dts: Add node for cpupm.
Change-Id: I2936efcbed28a7578db311acc3714349916f5fe0
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Park Bumgyu [Tue, 20 Feb 2018 10:43:15 +0000 (19:43 +0900)]
cpuidle: profiler: renewal idle profiler
Change-Id: I880065e2feebd06dd8e820f1716a2d3c51e3a070
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 23 Feb 2018 00:39:01 +0000 (09:39 +0900)]
soc: cpupm: handle idle ip
Change-Id: I028775221ea5ff3238bf50532095ea49b49071a1
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 26 Jan 2018 10:25:10 +0000 (19:25 +0900)]
nohz: export symbol tick_nohz_get_sleep_length_cpu
tick_nohz_get_sleep_length_cpu returns the length of the current
sleep for a particular CPU.
Change-Id: I8fbc8af8914f0d2ddc47847bb55320925c59aaf9
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Mon, 19 Feb 2018 04:50:19 +0000 (13:50 +0900)]
soc: cpupm: support system idle
Change-Id: Id861005931eff43e61c9cd7b98aed8d00adc61b1
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Tue, 13 Feb 2018 12:05:16 +0000 (21:05 +0900)]
soc: cpupm: handle cpu hotplug
Change-Id: I0a2eb08b97bb8d4d07cec790cae13523ed0fadc8
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Mon, 5 Feb 2018 10:29:56 +0000 (19:29 +0900)]
soc: cpupm: support cluster power down
Change-Id: I232bfac95617d8dff191b176d48119abd0c7accd
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 26 Jan 2018 10:15:49 +0000 (19:15 +0900)]
soc: cpupm: support c2 state idle
Change-Id: I27d951d61470de912fde7fe21419ecaa3d9ffecb
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Wed, 31 Jan 2018 06:38:46 +0000 (15:38 +0900)]
psci: change customized PSCI to support bit operation
Change-Id: I8cf40dbe290e56d6d93fb2c193342eda166b3857
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Johnlay Park [Mon, 22 Jan 2018 12:41:36 +0000 (21:41 +0900)]
cache: kill the unused cache related patch
Change-Id: I858260c9963c0c1b17137a9c1471925851d5eb66
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Park Bumgyu [Tue, 10 May 2016 06:37:06 +0000 (15:37 +0900)]
arm64: fill flush_all_cpu_caches()
Change-Id: I2b87a88480d04145a341a312aaa8fc9ac0e690aa
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Tue, 10 May 2016 07:12:08 +0000 (16:12 +0900)]
arm64: Remove unused function
flush_cache_all, cpu_cache_off, soft_restart, cpu_soft_restart,
cpu_reset are removed by commit
68234df
(arm64: kill flush_cache_all()), however, this patch is reverted as
Exynos needs flush_cache_all. But other functions are unnecessary,
remove them.
Change-Id: I0ab8e30065ab3bb0314ba4dcb5984bfb81769b6d
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Tue, 10 May 2016 06:49:27 +0000 (15:49 +0900)]
Revert "arm64: Remove unused macros from assembler.h"
This reverts commit
d3127afa712321a2b297cfee358be2cb223f933c.
Change-Id: I75e0aafbf1e4f440bc51ca20a762d1834f886781
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Thu, 13 Apr 2017 05:46:47 +0000 (14:46 +0900)]
Revert "arm64: kill flush_cache_all()"
This reverts commit
68234df4ea7939f98431aa81113fbdce10c4a84b.
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Change-Id: If0b171a071e9e2fe55f0f5dc73d8f963b594ca28
Youngtae Lee [Thu, 2 Nov 2017 11:36:17 +0000 (20:36 +0900)]
kernel: Add PRE/POST noti for cpu pm
CPU_PM_ENTER_PREPARE is called before adding a timer event.
CPU_PM_EXIT is called after CPU_PM_EXIT.
Change-Id: I339cdcc1d20bbbbeb85de9f3b8bbf79150c7dfe5
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Youngtae Lee [Thu, 2 Nov 2017 11:53:41 +0000 (20:53 +0900)]
trace: power: Add trace for schedutil governor
Change-Id: I20b8c8e72e71be03a3f18eee979397c8b892e81f
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Park Bumgyu [Fri, 19 Jan 2018 08:05:55 +0000 (17:05 +0900)]
[COMMON] cpufreq_schedutil: select idle cpu for scaling
Change-Id: Ice84c50845dcd96689a51f481d969a557c84667a
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Youngtae Lee [Fri, 19 Jan 2018 07:52:59 +0000 (16:52 +0900)]
sched: su_gov: remove DL initial flag when starting governor
In shared policy, DL initial flag could set max freq
util flag removed by updating utilization so, remove this flag.
Change-Id: Ib04def4e8d6d42cf3d3b65b71b048f10d1285a5c
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Youngtae Lee [Tue, 14 Nov 2017 02:18:33 +0000 (11:18 +0900)]
sched: schedutil: change loop condition to get next_freq on shared policy
Between CPUHP_AP_ONLINE_DYN notif for cpufreq and stopper,
schedutil can not see util of hotplug out core.
At this time, there is a task in the core which is hotplug out,
there is a problem that utilization of these tasks is not reflected.
To avoid this, schedutil sees through the online mask to find next_frequency.
Change-Id: I3fc28c605edb184de390727a5f4a3eaa73a8797c
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Youngtae Lee [Thu, 2 Nov 2017 11:47:24 +0000 (20:47 +0900)]
sched: schedutil: Add slack_timer and pm_qos handler
1. the slack_timer works to prevent the fequency from being held unnecessarily high
when the cpu sleeps long in a high utilization.
2. The Pm_qos handler tells the governor if the frequency
that was held high by qos could fall.
Change-Id: I5f2d5be73b8d8294a35b2810cc9721264ec55964
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Youngtae Lee [Mon, 25 Sep 2017 13:20:35 +0000 (06:20 -0700)]
schedutil: change reference max frequency
When cpuinfo.max_frequency and policy->max is different,
This causes a bug in which the frequency increases quickly
To solve this problem, always use fixed max_frequency(cpuinfo.max_frequency)
Change-Id: I362268ebd5ffdb3e3229a414752cfb93651f2656
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Park Bumgyu [Tue, 1 Aug 2017 10:36:30 +0000 (19:36 +0900)]
[COMMON] cpufreq: prevent to access NULL sg_policy
Change-Id: If6a532db0dc3a7fe7b3146fd48c03550d5e16fbd
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 19 Jan 2018 07:42:10 +0000 (16:42 +0900)]
[COMMON] sched: support freqvar tuner
Change-Id: Ifd2fb13a6ab44f3137aca816c8537a85af0e7850
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Youngtae Lee [Thu, 24 Aug 2017 06:43:54 +0000 (23:43 -0700)]
smp: Support random core control by bootargs
Add early_cpu_mask to remember user cpu want to remove.
hotplug and cpufreq driver uses it when control
number of online core.
Change-Id: I20977beb5e338a977f73db9a943d0ac2d3c52d93
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Soohyun Kim [Wed, 17 Jan 2018 01:25:15 +0000 (10:25 +0900)]
[COMMON] soc: samsung: Introduce exynos cpu hotplug
exynos CPU hotplug driver supports the interface to enable or
disable cpu. All exynos drivers which want to hotplug cpu must
call the function CPU hotplug driver supported function.
CPU hotplug driver refers pm_qos class value of PM_QOS_CPU_ONLINE_MIN
and PM_QOS_CPU_ONLINE_MAX. Driver enables the cpu as mush as the
PM_QOS_CPU_ONLINE_MIN value unless this value is not bigger than
PM_QOS_CPU_ONLINE_MAX value. PM_QOS_CPU_ONLINE_MAX class has higher
priority.
Change-Id: I8b28b5198ec7e90a68579b1459d933dc35c673fc
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Soohyun Kim [Mon, 22 Jan 2018 10:55:47 +0000 (19:55 +0900)]
Revert "[HACK] cpufreq: acme: block cooling device registration"
This reverts commit
37ac423b70b6d912cae2ad7db7b2e2f305e69a23.
Change-Id: Ic1f0360bbf37ee4b28303e42f09c4667476a62df
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Park Bumgyu [Fri, 19 Jan 2018 05:37:16 +0000 (14:37 +0900)]
[HACK] cpufreq: acme: block cooling device registration
Change-Id: Icc91df606227e2511a6b1703ab82d04ab6f94022
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 19 Jan 2018 04:48:47 +0000 (13:48 +0900)]
[COMMON] cpufreq: support ACME(A Cpufreq that Meet Every chipset)
Change-Id: Ieb367cab72c87bb67c63bf3dbfef2d11099593b2
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
lakkyung.jung [Fri, 11 May 2018 06:52:09 +0000 (15:52 +0900)]
[9610] arm64: dts: add dtsi for cpufreq
Change-Id: I10b80260406fcdd719e26620868d6cf30adb0957
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Fri, 11 May 2018 06:07:46 +0000 (15:07 +0900)]
[9610] dtsi: Add sched util information
Change-Id: I4668f70355db509575640faa15abb058661ab311
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Park Bumgyu [Fri, 19 Jan 2018 01:42:49 +0000 (10:42 +0900)]
[COMMON] cpuidle: support cpuidle driver for exynos
Change-Id: I206e3204542c8b6d87e5c48c830a8f67fd0288a8
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Tue, 16 Jan 2018 10:01:05 +0000 (19:01 +0900)]
[COMMON] sched: ehmp: support EHMP(Exynos HMP)
Change-Id: Ie7ee8a84ed0fdc3a62d10a5b55488477edcdba7f
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Tue, 3 May 2016 10:23:54 +0000 (19:23 +0900)]
[COMMON] arm64: kernel: Support customized suspend finisher
We hope that PSCI framework cover the all platform specific power
states, unfortunately PSCI can support only state managed by cpuidle.
Hence it is not correspond on Exynos.
psci_suspend_customized_finisher supports extra power state which
cpuidle does not handle such as system sleep, system idle clock
down and cluster power down.
Change-Id: I970f5ec2477de8e3fea2e10528bfc564b584c144
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Park Bumgyu [Tue, 3 May 2016 10:01:36 +0000 (19:01 +0900)]
[COMMON] arm64: psci: Reappear psci_power_state_pack
psci_power_state_pack which combines PSCI power state information
to integer is removed by commit
c8cc427("arm64: psci: kill
psci_power_state").
In case of exynos, it needs to reconstitute PSCI power state to
support extra power mode which cpuidle does not support. To
resonstitute PSCI power state, psci_power_state_pack is added.
It will be used in psci_suspend_customized_finisher.
Change-Id: I506e690965e73cdd1d6acee7664b5cf4cfc049a0
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>