aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Bellasi <patrick.bellasi@arm.com>2019-08-22 09:28:11 -0400
committerIngo Molnar <mingo@kernel.org>2019-09-03 03:17:40 -0400
commit0413d7f33e60751570fd6c179546bde2f7d82dcb (patch)
tree3e6ab1ec68793283f7a00ba6d860688ba510e1b1
parentbabbe170e053c6ec2343751749995b7b9fd5fd2c (diff)
sched/uclamp: Always use 'enum uclamp_id' for clamp_id values
The supported clamp indexes are defined in 'enum clamp_id', however, because of the code logic in some of the first utilization clamping series version, sometimes we needed to use 'unsigned int' to represent indices. This is not more required since the final version of the uclamp_* APIs can always use the proper enum uclamp_id type. Fix it with a bulk rename now that we have all the bits merged. Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Michal Koutny <mkoutny@suse.com> Acked-by: Tejun Heo <tj@kernel.org> Cc: Alessio Balsini <balsini@android.com> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Joel Fernandes <joelaf@google.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Morten Rasmussen <morten.rasmussen@arm.com> Cc: Paul Turner <pjt@google.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Quentin Perret <quentin.perret@arm.com> Cc: Rafael J . Wysocki <rafael.j.wysocki@intel.com> Cc: Steve Muckle <smuckle@google.com> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Todd Kjos <tkjos@google.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Viresh Kumar <viresh.kumar@linaro.org> Link: https://lkml.kernel.org/r/20190822132811.31294-7-patrick.bellasi@arm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--kernel/sched/core.c38
-rw-r--r--kernel/sched/sched.h2
2 files changed, 20 insertions, 20 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 55a1c07045ff..3c7b90bcbe4e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -810,7 +810,7 @@ static inline unsigned int uclamp_bucket_base_value(unsigned int clamp_value)
810 return UCLAMP_BUCKET_DELTA * uclamp_bucket_id(clamp_value); 810 return UCLAMP_BUCKET_DELTA * uclamp_bucket_id(clamp_value);
811} 811}
812 812
813static inline unsigned int uclamp_none(int clamp_id) 813static inline enum uclamp_id uclamp_none(enum uclamp_id clamp_id)
814{ 814{
815 if (clamp_id == UCLAMP_MIN) 815 if (clamp_id == UCLAMP_MIN)
816 return 0; 816 return 0;
@@ -826,7 +826,7 @@ static inline void uclamp_se_set(struct uclamp_se *uc_se,
826} 826}
827 827
828static inline unsigned int 828static inline unsigned int
829uclamp_idle_value(struct rq *rq, unsigned int clamp_id, 829uclamp_idle_value(struct rq *rq, enum uclamp_id clamp_id,
830 unsigned int clamp_value) 830 unsigned int clamp_value)
831{ 831{
832 /* 832 /*
@@ -842,7 +842,7 @@ uclamp_idle_value(struct rq *rq, unsigned int clamp_id,
842 return uclamp_none(UCLAMP_MIN); 842 return uclamp_none(UCLAMP_MIN);
843} 843}
844 844
845static inline void uclamp_idle_reset(struct rq *rq, unsigned int clamp_id, 845static inline void uclamp_idle_reset(struct rq *rq, enum uclamp_id clamp_id,
846 unsigned int clamp_value) 846 unsigned int clamp_value)
847{ 847{
848 /* Reset max-clamp retention only on idle exit */ 848 /* Reset max-clamp retention only on idle exit */
@@ -853,8 +853,8 @@ static inline void uclamp_idle_reset(struct rq *rq, unsigned int clamp_id,
853} 853}
854 854
855static inline 855static inline
856unsigned int uclamp_rq_max_value(struct rq *rq, unsigned int clamp_id, 856enum uclamp_id uclamp_rq_max_value(struct rq *rq, enum uclamp_id clamp_id,
857 unsigned int clamp_value) 857 unsigned int clamp_value)
858{ 858{
859 struct uclamp_bucket *bucket = rq->uclamp[clamp_id].bucket; 859 struct uclamp_bucket *bucket = rq->uclamp[clamp_id].bucket;
860 int bucket_id = UCLAMP_BUCKETS - 1; 860 int bucket_id = UCLAMP_BUCKETS - 1;
@@ -874,7 +874,7 @@ unsigned int uclamp_rq_max_value(struct rq *rq, unsigned int clamp_id,
874} 874}
875 875
876static inline struct uclamp_se 876static inline struct uclamp_se
877uclamp_tg_restrict(struct task_struct *p, unsigned int clamp_id) 877uclamp_tg_restrict(struct task_struct *p, enum uclamp_id clamp_id)
878{ 878{
879 struct uclamp_se uc_req = p->uclamp_req[clamp_id]; 879 struct uclamp_se uc_req = p->uclamp_req[clamp_id];
880#ifdef CONFIG_UCLAMP_TASK_GROUP 880#ifdef CONFIG_UCLAMP_TASK_GROUP
@@ -906,7 +906,7 @@ uclamp_tg_restrict(struct task_struct *p, unsigned int clamp_id)
906 * - the system default clamp value, defined by the sysadmin 906 * - the system default clamp value, defined by the sysadmin
907 */ 907 */
908static inline struct uclamp_se 908static inline struct uclamp_se
909uclamp_eff_get(struct task_struct *p, unsigned int clamp_id) 909uclamp_eff_get(struct task_struct *p, enum uclamp_id clamp_id)
910{ 910{
911 struct uclamp_se uc_req = uclamp_tg_restrict(p, clamp_id); 911 struct uclamp_se uc_req = uclamp_tg_restrict(p, clamp_id);
912 struct uclamp_se uc_max = uclamp_default[clamp_id]; 912 struct uclamp_se uc_max = uclamp_default[clamp_id];
@@ -918,7 +918,7 @@ uclamp_eff_get(struct task_struct *p, unsigned int clamp_id)
918 return uc_req; 918 return uc_req;
919} 919}
920 920
921unsigned int uclamp_eff_value(struct task_struct *p, unsigned int clamp_id) 921enum uclamp_id uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id)
922{ 922{
923 struct uclamp_se uc_eff; 923 struct uclamp_se uc_eff;
924 924
@@ -942,7 +942,7 @@ unsigned int uclamp_eff_value(struct task_struct *p, unsigned int clamp_id)
942 * for each bucket when all its RUNNABLE tasks require the same clamp. 942 * for each bucket when all its RUNNABLE tasks require the same clamp.
943 */ 943 */
944static inline void uclamp_rq_inc_id(struct rq *rq, struct task_struct *p, 944static inline void uclamp_rq_inc_id(struct rq *rq, struct task_struct *p,
945 unsigned int clamp_id) 945 enum uclamp_id clamp_id)
946{ 946{
947 struct uclamp_rq *uc_rq = &rq->uclamp[clamp_id]; 947 struct uclamp_rq *uc_rq = &rq->uclamp[clamp_id];
948 struct uclamp_se *uc_se = &p->uclamp[clamp_id]; 948 struct uclamp_se *uc_se = &p->uclamp[clamp_id];
@@ -980,7 +980,7 @@ static inline void uclamp_rq_inc_id(struct rq *rq, struct task_struct *p,
980 * enforce the expected state and warn. 980 * enforce the expected state and warn.
981 */ 981 */
982static inline void uclamp_rq_dec_id(struct rq *rq, struct task_struct *p, 982static inline void uclamp_rq_dec_id(struct rq *rq, struct task_struct *p,
983 unsigned int clamp_id) 983 enum uclamp_id clamp_id)
984{ 984{
985 struct uclamp_rq *uc_rq = &rq->uclamp[clamp_id]; 985 struct uclamp_rq *uc_rq = &rq->uclamp[clamp_id];
986 struct uclamp_se *uc_se = &p->uclamp[clamp_id]; 986 struct uclamp_se *uc_se = &p->uclamp[clamp_id];
@@ -1019,7 +1019,7 @@ static inline void uclamp_rq_dec_id(struct rq *rq, struct task_struct *p,
1019 1019
1020static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p) 1020static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p)
1021{ 1021{
1022 unsigned int clamp_id; 1022 enum uclamp_id clamp_id;
1023 1023
1024 if (unlikely(!p->sched_class->uclamp_enabled)) 1024 if (unlikely(!p->sched_class->uclamp_enabled))
1025 return; 1025 return;
@@ -1034,7 +1034,7 @@ static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p)
1034 1034
1035static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) 1035static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p)
1036{ 1036{
1037 unsigned int clamp_id; 1037 enum uclamp_id clamp_id;
1038 1038
1039 if (unlikely(!p->sched_class->uclamp_enabled)) 1039 if (unlikely(!p->sched_class->uclamp_enabled))
1040 return; 1040 return;
@@ -1044,7 +1044,7 @@ static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p)
1044} 1044}
1045 1045
1046static inline void 1046static inline void
1047uclamp_update_active(struct task_struct *p, unsigned int clamp_id) 1047uclamp_update_active(struct task_struct *p, enum uclamp_id clamp_id)
1048{ 1048{
1049 struct rq_flags rf; 1049 struct rq_flags rf;
1050 struct rq *rq; 1050 struct rq *rq;
@@ -1077,9 +1077,9 @@ static inline void
1077uclamp_update_active_tasks(struct cgroup_subsys_state *css, 1077uclamp_update_active_tasks(struct cgroup_subsys_state *css,
1078 unsigned int clamps) 1078 unsigned int clamps)
1079{ 1079{
1080 enum uclamp_id clamp_id;
1080 struct css_task_iter it; 1081 struct css_task_iter it;
1081 struct task_struct *p; 1082 struct task_struct *p;
1082 unsigned int clamp_id;
1083 1083
1084 css_task_iter_start(css, 0, &it); 1084 css_task_iter_start(css, 0, &it);
1085 while ((p = css_task_iter_next(&it))) { 1085 while ((p = css_task_iter_next(&it))) {
@@ -1187,7 +1187,7 @@ static int uclamp_validate(struct task_struct *p,
1187static void __setscheduler_uclamp(struct task_struct *p, 1187static void __setscheduler_uclamp(struct task_struct *p,
1188 const struct sched_attr *attr) 1188 const struct sched_attr *attr)
1189{ 1189{
1190 unsigned int clamp_id; 1190 enum uclamp_id clamp_id;
1191 1191
1192 /* 1192 /*
1193 * On scheduling class change, reset to default clamps for tasks 1193 * On scheduling class change, reset to default clamps for tasks
@@ -1224,7 +1224,7 @@ static void __setscheduler_uclamp(struct task_struct *p,
1224 1224
1225static void uclamp_fork(struct task_struct *p) 1225static void uclamp_fork(struct task_struct *p)
1226{ 1226{
1227 unsigned int clamp_id; 1227 enum uclamp_id clamp_id;
1228 1228
1229 for_each_clamp_id(clamp_id) 1229 for_each_clamp_id(clamp_id)
1230 p->uclamp[clamp_id].active = false; 1230 p->uclamp[clamp_id].active = false;
@@ -1246,7 +1246,7 @@ static void uclamp_fork(struct task_struct *p)
1246static void __init init_uclamp(void) 1246static void __init init_uclamp(void)
1247{ 1247{
1248 struct uclamp_se uc_max = {}; 1248 struct uclamp_se uc_max = {};
1249 unsigned int clamp_id; 1249 enum uclamp_id clamp_id;
1250 int cpu; 1250 int cpu;
1251 1251
1252 mutex_init(&uclamp_mutex); 1252 mutex_init(&uclamp_mutex);
@@ -6921,7 +6921,7 @@ static inline void alloc_uclamp_sched_group(struct task_group *tg,
6921 struct task_group *parent) 6921 struct task_group *parent)
6922{ 6922{
6923#ifdef CONFIG_UCLAMP_TASK_GROUP 6923#ifdef CONFIG_UCLAMP_TASK_GROUP
6924 int clamp_id; 6924 enum uclamp_id clamp_id;
6925 6925
6926 for_each_clamp_id(clamp_id) { 6926 for_each_clamp_id(clamp_id) {
6927 uclamp_se_set(&tg->uclamp_req[clamp_id], 6927 uclamp_se_set(&tg->uclamp_req[clamp_id],
@@ -7179,7 +7179,7 @@ static void cpu_util_update_eff(struct cgroup_subsys_state *css)
7179 struct uclamp_se *uc_parent = NULL; 7179 struct uclamp_se *uc_parent = NULL;
7180 struct uclamp_se *uc_se = NULL; 7180 struct uclamp_se *uc_se = NULL;
7181 unsigned int eff[UCLAMP_CNT]; 7181 unsigned int eff[UCLAMP_CNT];
7182 unsigned int clamp_id; 7182 enum uclamp_id clamp_id;
7183 unsigned int clamps; 7183 unsigned int clamps;
7184 7184
7185 css_for_each_descendant_pre(css, top_css) { 7185 css_for_each_descendant_pre(css, top_css) {
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 5b343112a47b..00ff5b57e9cd 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2281,7 +2281,7 @@ static inline void cpufreq_update_util(struct rq *rq, unsigned int flags) {}
2281#endif /* CONFIG_CPU_FREQ */ 2281#endif /* CONFIG_CPU_FREQ */
2282 2282
2283#ifdef CONFIG_UCLAMP_TASK 2283#ifdef CONFIG_UCLAMP_TASK
2284unsigned int uclamp_eff_value(struct task_struct *p, unsigned int clamp_id); 2284enum uclamp_id uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id);
2285 2285
2286static __always_inline 2286static __always_inline
2287unsigned int uclamp_util_with(struct rq *rq, unsigned int util, 2287unsigned int uclamp_util_with(struct rq *rq, unsigned int util,