Commit 0f92cdf3 authored by Peter Zijlstra's avatar Peter Zijlstra

sched: Simplify sysctl_sched_uclamp_handler()

Use guards to reduce gotos and simplify control flow.
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: default avatarValentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/20230801211811.896559109@infradead.org
parent 7537b90c
...@@ -1827,7 +1827,8 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write, ...@@ -1827,7 +1827,8 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
int old_min, old_max, old_min_rt; int old_min, old_max, old_min_rt;
int result; int result;
mutex_lock(&uclamp_mutex); guard(mutex)(&uclamp_mutex);
old_min = sysctl_sched_uclamp_util_min; old_min = sysctl_sched_uclamp_util_min;
old_max = sysctl_sched_uclamp_util_max; old_max = sysctl_sched_uclamp_util_max;
old_min_rt = sysctl_sched_uclamp_util_min_rt_default; old_min_rt = sysctl_sched_uclamp_util_min_rt_default;
...@@ -1836,7 +1837,7 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write, ...@@ -1836,7 +1837,7 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
if (result) if (result)
goto undo; goto undo;
if (!write) if (!write)
goto done; return 0;
if (sysctl_sched_uclamp_util_min > sysctl_sched_uclamp_util_max || if (sysctl_sched_uclamp_util_min > sysctl_sched_uclamp_util_max ||
sysctl_sched_uclamp_util_max > SCHED_CAPACITY_SCALE || sysctl_sched_uclamp_util_max > SCHED_CAPACITY_SCALE ||
...@@ -1872,16 +1873,12 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write, ...@@ -1872,16 +1873,12 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
* Otherwise, keep it simple and do just a lazy update at each next * Otherwise, keep it simple and do just a lazy update at each next
* task enqueue time. * task enqueue time.
*/ */
return 0;
goto done;
undo: undo:
sysctl_sched_uclamp_util_min = old_min; sysctl_sched_uclamp_util_min = old_min;
sysctl_sched_uclamp_util_max = old_max; sysctl_sched_uclamp_util_max = old_max;
sysctl_sched_uclamp_util_min_rt_default = old_min_rt; sysctl_sched_uclamp_util_min_rt_default = old_min_rt;
done:
mutex_unlock(&uclamp_mutex);
return result; return result;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment