GitHub/LineageOS/android_kernel_motorola_exynos9610.git
6 years agosched/tune: remove duplicated spin_lock initialization
Park Bumgyu [Thu, 1 Jun 2017 06:28:49 +0000 (15:28 +0900)]
sched/tune: remove duplicated spin_lock initialization

Change-Id: I2e0ec5521b0d606c02bcbafd97a5352144be964a
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 years ago[COMMON] sched: fair: Add to update max cpu capacity on update_cpu_capacity.
lakkyung.jung [Mon, 19 Mar 2018 12:29:17 +0000 (21:29 +0900)]
[COMMON] sched: fair: Add to update max cpu capacity on update_cpu_capacity.

Change-Id: I4835f48130055cd926e79d9b04e46fddabe378a4
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
6 years ago[COMMON] sched/fair: Fix hang during rebuilding sd in compute_energy.
Johnlay Park [Mon, 19 Feb 2018 05:51:23 +0000 (14:51 +0900)]
[COMMON] sched/fair: Fix hang during rebuilding sd in compute_energy.

This patch implemtes the hotplug race check differently and
should therefore reinstate support for per-cpu capacity states.

refer the commit d5f2ca8a4778938c45d679d67c45b256114de3c5,
64f6fd103dadaf762d3dc11173c5544ff6ec1b16.

Change-Id: Iab48cf63c3672e10ad8230d1eeb09185ea588022
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 years 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 years agosamsung: ecme: Get the boost frequency from EMC.
Youngtae Lee [Mon, 16 Apr 2018 09:19:50 +0000 (18:19 +0900)]
samsung: ecme: Get the boost frequency from EMC.

If EMC is enabled, ACME gets max frequency from EMC.

Change-Id: I56c7cee764f782314a1d467936db7a7e1d545a80
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 years agosamsung: emc: Add help function to finding boost freq
Youngtae Lee [Mon, 16 Apr 2018 09:19:38 +0000 (18:19 +0900)]
samsung: emc: Add help function to finding boost freq

If a cpu has boost frequency, emc_get_boost_freq offers
boost frequency

Change-Id: I101f923dc2d29ef748ff1661b6f8cbb4054f812b
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 years 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 years agosamsung: Kconfig: Add Exynos Mode Changer configulation
Youngtae Lee [Wed, 28 Mar 2018 07:20:23 +0000 (16:20 +0900)]
samsung: Kconfig: Add Exynos Mode Changer configulation

Change-Id: If09f52dc6724245950ac64bae542b8f635d11c0d
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 years agotrace: event: Add emc trace event
Youngtae Lee [Wed, 28 Mar 2018 07:17:38 +0000 (16:17 +0900)]
trace: event: Add emc trace event

Change-Id: I2a0db9259f35c82853775e5485b2cd314f3bb7e3
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 years agosamsung: emc: introduce exynos mode changer
Youngtae Lee [Thu, 25 Jan 2018 05:40:18 +0000 (14:40 +0900)]
samsung: emc: introduce exynos mode changer

This driver recomands optimized mode for performance
in Exynos SoC supporting boosting

Change-Id: Ie1592af0a961fcf3f96c845c26b9bd440fb88b92
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 years agosamsung: acme: appyling new cpu hotplug
Youngtae Lee [Mon, 9 Apr 2018 08:45:55 +0000 (17:45 +0900)]
samsung: acme: appyling new cpu hotplug

Change-Id: I2c64df9fa8278b687489ee310bf97013407691c9
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 years agosamsung: cpuhp: introduce new exynos hotplug driver
Youngtae Lee [Wed, 21 Mar 2018 06:09:00 +0000 (15:09 +0900)]
samsung: cpuhp: introduce new exynos hotplug driver

It supports unsequecial hotplug.
To support unsequencial core control,
new cpu_hotplug_driver doesn't use qos method.
instead of qos, it support exynos specific API for
core power control such ad hotplug, fast_hp.

Change-Id: Ifacee5a75ff4a513645dc051fdbfbfdfce1f90ea
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
6 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years agosoc: samsung: cpupm: support sysfs to enable/disable power mode
Park Bumgyu [Thu, 12 Apr 2018 04:30:20 +0000 (13:30 +0900)]
soc: samsung: cpupm: support sysfs to enable/disable power mode

Change-Id: I8f0384bb511a8d9c4aaa57329808e65766ce8b03
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 years agocpuidle: profiler: reset idle-ip statistics
Park Bumgyu [Wed, 11 Apr 2018 03:57:59 +0000 (12:57 +0900)]
cpuidle: profiler: reset idle-ip statistics

Change-Id: I2bb9aae929aeae059eb23e2cff03462fe4eb33db
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 years agoinit/kconfig: FRT dependends on EMS
Park Bumgyu [Wed, 11 Apr 2018 01:13:17 +0000 (10:13 +0900)]
init/kconfig: FRT dependends on EMS

Change-Id: I5b241b766adc14a2169ec773ead76caba7187f03
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 years 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 years agocpufreq: acme: update frequency-scale
Park Bumgyu [Tue, 10 Apr 2018 01:24:22 +0000 (10:24 +0900)]
cpufreq: acme: update frequency-scale

The freq-scale is updated to adjust the amount of task uilization
accumulation to the cpu frequency. In the previous kernel version,
the freq-scale was updated in the cpufreq framework, but in the
current version, it should be updated in the cpufreq driver

Change-Id: I542898e234f3e7a4e337c96bae40b5a054fcbd97
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
6 years ago[COMMON] sched: sysctl: match the variable type
Johnlay Park [Fri, 23 Mar 2018 07:44:04 +0000 (16:44 +0900)]
[COMMON] sched: sysctl: match the variable type

for fixing the build error on clang

Change-Id: I396d4f622018fcf2bd601b7c8405640896943493
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years ago[COMMON] soc: samsung: topology: Remove unnecessary ignore-energy-costs
Daeyeong Lee [Wed, 28 Mar 2018 01:31:47 +0000 (10:31 +0900)]
[COMMON] soc: samsung: topology: Remove unnecessary ignore-energy-costs

Change-Id: I35839c994cb86b83897a76173c452a2241834ffe
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
6 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years agocpufreq: acme: remove race contdition when set/get freq
Soohyun Kim [Mon, 2 Apr 2018 23:58:05 +0000 (08:58 +0900)]
cpufreq: acme: remove race contdition when set/get freq

Change-Id: I964b18bc4eab0914879c7cf0226ee8bc780dd9de
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
6 years agoRevert "cpufreq: acme: fix race contidion when set/get freq."
Soohyun Kim [Mon, 2 Apr 2018 11:25:48 +0000 (20:25 +0900)]
Revert "cpufreq: acme: fix race contidion when set/get freq."

This reverts commit a67c37d0d34f2232ff796b2466e4429df7f5181c.

Change-Id: I9614c5c653436a00584506629e76678cd2f75fae

6 years agocpufreq: acme: fix race contidion when set/get freq.
Soohyun Kim [Fri, 30 Mar 2018 10:16:27 +0000 (19:16 +0900)]
cpufreq: acme: fix race contidion when set/get freq.

Change-Id: I7a7d59366d81ae4544760548dbb8fac4fed5abe0
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
6 years agocpufreq: acme: change the way of waking sibline
Johnlay Park [Thu, 29 Mar 2018 07:19:12 +0000 (16:19 +0900)]
cpufreq: acme: change the way of waking sibline

Fixining bug of
"cpufreq: acme: fix bug about power mode blocking"

Change-Id: I539c454dbc9b72bbf51dfc3dc7ed8bcf910593a5
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
6 years agoexynos: acme: check need awake when get/set freq.
Soohyun Kim [Thu, 29 Mar 2018 04:12:35 +0000 (13:12 +0900)]
exynos: acme: check need awake when get/set freq.

Change-Id: Iea6c79e32612dc40e4d7b3e4ceacaa2c4efb1fb0
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
6 years agocpufreq: acme: fix bug about power mode blocking.
Soohyun Kim [Thu, 29 Mar 2018 04:08:53 +0000 (13:08 +0900)]
cpufreq: acme: fix bug about power mode blocking.

Change-Id: I07c0e50ca484c09ac76e827b68b1c861d730c1a5
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
6 years ago[COMMON] cpufreq: acme: add need-awake info for domain
Soohyun Kim [Thu, 29 Mar 2018 04:07:14 +0000 (13:07 +0900)]
[COMMON] cpufreq: acme: add need-awake info for domain

Change-Id: I67c8935ab0b9f9e55a25489dded617572a5cd44c
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
6 years 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 years 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 years 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 years ago[COMMON] sched/rt: trace: add tracepoint for RT task
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>
6 years ago[COMMON] sched/rt: hooking cpufreq callback
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>
6 years ago[COMMON] sched/rt: add API of propagating of RT TG tree
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>
6 years ago[COMMON] sched/rt: update sched_rt_entity
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>
6 years ago[COMMON] sched/rt: Enable config for change sched group
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>
6 years ago[COMMON] sched/rt: Use pelt RT b/w in scale_rt_capacity
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>
6 years ago[COMMON] sched/rt: fix !CONFIG_64BIT last_update_time update
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>
6 years ago[COMMON] sched/{fair,rt}: copy sched avg data across switches between class
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>
6 years ago[COMMON] sched/rt: migrate utilization in task migration
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>
6 years ago[COMMON] sched/rt: Initializing RT Task load
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>
6 years ago[COMMON] sched/rt: Adding task_change_group for RT
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>
6 years ago[COMMON] sched/rt: Sharing the primitives in common
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>
6 years ago[COMMON] sched/rt: Tracking the rt task load
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>
6 years ago[COMMON] sched/rt: Introduce pelt load for rt
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>
6 years 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 years ago[COMMON] cpufreq: acme: add online check about domain cpus.
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>
6 years ago[COMMON] cpufreq_schedutil: select alive cpu for scaling.
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>
6 years ago[COMMON] cpufreq: acme: register/unregister cpu_cooling
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>
6 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years ago[COMMON] soc: samsung: topology: Configure exynos_topology based on DT
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>
6 years ago[COMMON] soc: samsung: topology: Modify sched_domain_energy_f to use SD_LEVEL dynamically
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>
6 years ago[COMMON] soc: samsung: topology: Refactoring DT parsing function
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>
6 years ago[COMMON] soc: samsung: topology: Modify to not support mpidr to configure cpu_topology
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>
6 years ago[COMMON] soc: samsung: topology: Remove SYS level in topology hierarchy
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>
6 years ago[COMMON] soc: samsung: topology: Add cpu_coregroup_energy
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>