sched: ems: integrate common API
authorPark Bumgyu <bumgyu.park@samsung.com>
Fri, 6 Apr 2018 05:15:09 +0000 (14:15 +0900)
committerChungwoo Park <cww.park@samsung.com>
Mon, 21 May 2018 08:35:35 +0000 (17:35 +0900)
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>
include/linux/ems.h
kernel/sched/ems/core.c
kernel/sched/ems/ems.h
kernel/sched/ems/energy.c
kernel/sched/ems/lbt.c
kernel/sched/ems/st_addon.c
kernel/sched/fair.c

index e09f91efa3316c49b256bb4a29b0b8dc4d061fd3..5beb19b9c116f8ec22587aef764d587236998e23 100644 (file)
@@ -43,6 +43,8 @@ extern int exynos_need_active_balance(enum cpu_idle_type idle,
 extern unsigned long global_boost(void);
 extern int find_second_max_cap(void);
 
+extern int
+exynos_wakeup_balance(struct task_struct *p, int prev_cpu, int sd_flag, int sync);
 extern int exynos_select_cpu(struct task_struct *p, int *backup_cpu,
                                bool boosted, bool prefer_idle);
 
@@ -77,6 +79,11 @@ static inline int exynos_need_active_balance(enum cpu_idle_type idle,
 static inline unsigned long global_boost(void) { return 0; }
 static inline int find_second_max_cap(void) { return -EINVAL; }
 
+static inline int
+exynos_wakeup_balance(struct task_struct *p, int prev_cpu, int sd_flag, int sync)
+{
+       return -1;
+}
 static inline int exynos_select_cpu(struct task_struct *p, int *backup_cpu,
                                bool boosted, bool prefer_idle) { return -EINVAL; }
 
index 29bb9a38eb18ff7e7512eb0b814350f70f5ff8d6..166530ffbd640ee377ca783427fa56bac9e41857 100644 (file)
 #include "ems.h"
 #include "../sched.h"
 
+int task_util(struct task_struct *p)
+{
+       return p->se.avg.util_avg;
+}
+
+int cpu_util_wake(int cpu, struct task_struct *p)
+{
+       unsigned long util, capacity;
+
+       /* Task has no contribution or is new */
+       if (cpu != task_cpu(p) || !p->se.avg.last_update_time)
+               return cpu_util(cpu);
+
+       capacity = capacity_orig_of(cpu);
+       util = max_t(long, cpu_rq(cpu)->cfs.avg.util_avg - task_util(p), 0);
+
+       return (util >= capacity) ? capacity : util;
+}
+
 static int select_proper_cpu(struct task_struct *p)
 {
        return -1;
index b82d54245db30fc60c0504b228694066878300e2..87fff90c3da1b4aa8daf2ba0554cfd92777eac33 100644 (file)
@@ -34,13 +34,5 @@ static inline int prefer_idle_cpu(struct task_struct *p) { return -1; }
 static inline int group_balancing(struct task_struct *p) { return -1; }
 #endif
 
-#ifdef CONFIG_SCHED_EMS
-extern int
-exynos_wakeup_balance(struct task_struct *p, int prev_cpu, int sd_flag, int sync);
-#else
-static inline int
-exynos_wakeup_balance(struct task_struct *p, int prev_cpu, int sd_flag, int sync)
-{
-       return -1;
-}
-#endif
+extern int task_util(struct task_struct *p);
+extern int cpu_util_wake(int cpu, struct task_struct *p);
index 8b3ffa16983d73d4f3d9d484ccb8d3d0271e0668..394d40109cd2b78099287a986db8aa1f1569d694 100644 (file)
 #include "ems.h"
 #include "../sched.h"
 
-static int task_util(struct task_struct *p)
-{
-       return p->se.avg.util_avg;
-}
-
-static int cpu_util_wake(int cpu, struct task_struct *p)
-{
-       unsigned long util, capacity;
-
-       /* Task has no contribution or is new */
-       if (cpu != task_cpu(p) || !p->se.avg.last_update_time)
-               return cpu_util(cpu);
-
-       capacity = capacity_orig_of(cpu);
-       util = max_t(long, cpu_rq(cpu)->cfs.avg.util_avg - task_util(p), 0);
-
-       return (util >= capacity) ? capacity : util;
-}
-
 /*
  * The compute capacity, power consumption at this compute capacity and
  * frequency of state. The cap and power are used to find the energy
index 1c4a55443a3f08a894da115bfffcc7f45dde8ae2..75ef7ebd8531160f85f093e4407e2f36698006c1 100644 (file)
@@ -67,30 +67,6 @@ static inline int get_last_level(struct lbt_overutil *ou)
        return -1;
 }
 
-static inline unsigned long task_util(struct task_struct *p)
-{
-       return p->se.avg.util_avg;
-}
-
-static inline int check_migration_task(struct task_struct *p)
-{
-       return !p->se.avg.last_update_time;
-}
-
-static inline unsigned long cpu_util_wake(int cpu, struct task_struct *p)
-{
-       unsigned long util, capacity;
-
-       /* Task has no contribution or is new */
-       if (cpu != task_cpu(p) || check_migration_task(p))
-               return cpu_util(cpu);
-
-       capacity = capacity_orig_of(cpu);
-       util = max_t(long, cpu_util(cpu) - task_util(p), 0);
-
-       return (util >= capacity) ? capacity : util;
-}
-
 /****************************************************************/
 /*                     External APIs                           */
 /****************************************************************/
index 04c088b1af7a8a54f1fe257f18e9fefa0f4fdcbb..85271da2a96ad94a15edc69d3a5f560f07e7d378 100644 (file)
 #include "../sched.h"
 #include "../tune.h"
 
-static inline unsigned long task_util(struct task_struct *p)
-{
-       return p->se.avg.util_avg;
-}
-
-static inline int check_migration_task(struct task_struct *p)
-{
-       return !p->se.avg.last_update_time;
-}
-
-static inline unsigned long cpu_util_wake(int cpu, struct task_struct *p)
-{
-       unsigned long util, capacity;
-
-       /* Task has no contribution or is new */
-       if (cpu != task_cpu(p) || check_migration_task(p))
-               return cpu_util(cpu);
-
-       capacity = capacity_orig_of(cpu);
-       util = max_t(long, cpu_util(cpu) - task_util(p), 0);
-
-       return (util >= capacity) ? capacity : util;
-}
-
 /**********************************************************************
  *                            Prefer Perf                             *
  **********************************************************************/
index 5a157c85c774d1ecdaafbb9c4a3b829331bfbffc..81e835a12cc32ee4d33cf80b79de61ecbcb9530c 100644 (file)
@@ -40,7 +40,6 @@
 #include "sched.h"
 #include "tune.h"
 #include "walt.h"
-#include "ems/ems.h"
 
 /*
  * Targeted preemption latency for CPU-bound tasks: