sched/core: Relocate tg_get_cfs_*() and cpu_cfs_*_read_*()
Collect the getters, relocate the trivial interface file wrappers, and put all of them in period, quota, burst order to prepare for future changes. Pure reordering. No functional changes. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20250614012346.2358261-3-tj@kernel.orgpull/1309/head
parent
d403a3689a
commit
de4c80c696
|
|
@ -9404,20 +9404,14 @@ static int tg_set_cfs_bandwidth(struct task_group *tg, u64 period, u64 quota,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int tg_set_cfs_quota(struct task_group *tg, long cfs_quota_us)
|
||||
static long tg_get_cfs_period(struct task_group *tg)
|
||||
{
|
||||
u64 quota, period, burst;
|
||||
u64 cfs_period_us;
|
||||
|
||||
period = ktime_to_ns(tg->cfs_bandwidth.period);
|
||||
burst = tg->cfs_bandwidth.burst;
|
||||
if (cfs_quota_us < 0)
|
||||
quota = RUNTIME_INF;
|
||||
else if ((u64)cfs_quota_us <= U64_MAX / NSEC_PER_USEC)
|
||||
quota = (u64)cfs_quota_us * NSEC_PER_USEC;
|
||||
else
|
||||
return -EINVAL;
|
||||
cfs_period_us = ktime_to_ns(tg->cfs_bandwidth.period);
|
||||
do_div(cfs_period_us, NSEC_PER_USEC);
|
||||
|
||||
return tg_set_cfs_bandwidth(tg, period, quota, burst);
|
||||
return cfs_period_us;
|
||||
}
|
||||
|
||||
static long tg_get_cfs_quota(struct task_group *tg)
|
||||
|
|
@ -9433,6 +9427,16 @@ static long tg_get_cfs_quota(struct task_group *tg)
|
|||
return quota_us;
|
||||
}
|
||||
|
||||
static long tg_get_cfs_burst(struct task_group *tg)
|
||||
{
|
||||
u64 burst_us;
|
||||
|
||||
burst_us = tg->cfs_bandwidth.burst;
|
||||
do_div(burst_us, NSEC_PER_USEC);
|
||||
|
||||
return burst_us;
|
||||
}
|
||||
|
||||
static int tg_set_cfs_period(struct task_group *tg, long cfs_period_us)
|
||||
{
|
||||
u64 quota, period, burst;
|
||||
|
|
@ -9447,14 +9451,20 @@ static int tg_set_cfs_period(struct task_group *tg, long cfs_period_us)
|
|||
return tg_set_cfs_bandwidth(tg, period, quota, burst);
|
||||
}
|
||||
|
||||
static long tg_get_cfs_period(struct task_group *tg)
|
||||
static int tg_set_cfs_quota(struct task_group *tg, long cfs_quota_us)
|
||||
{
|
||||
u64 cfs_period_us;
|
||||
u64 quota, period, burst;
|
||||
|
||||
cfs_period_us = ktime_to_ns(tg->cfs_bandwidth.period);
|
||||
do_div(cfs_period_us, NSEC_PER_USEC);
|
||||
period = ktime_to_ns(tg->cfs_bandwidth.period);
|
||||
burst = tg->cfs_bandwidth.burst;
|
||||
if (cfs_quota_us < 0)
|
||||
quota = RUNTIME_INF;
|
||||
else if ((u64)cfs_quota_us <= U64_MAX / NSEC_PER_USEC)
|
||||
quota = (u64)cfs_quota_us * NSEC_PER_USEC;
|
||||
else
|
||||
return -EINVAL;
|
||||
|
||||
return cfs_period_us;
|
||||
return tg_set_cfs_bandwidth(tg, period, quota, burst);
|
||||
}
|
||||
|
||||
static int tg_set_cfs_burst(struct task_group *tg, long cfs_burst_us)
|
||||
|
|
@ -9471,52 +9481,6 @@ static int tg_set_cfs_burst(struct task_group *tg, long cfs_burst_us)
|
|||
return tg_set_cfs_bandwidth(tg, period, quota, burst);
|
||||
}
|
||||
|
||||
static long tg_get_cfs_burst(struct task_group *tg)
|
||||
{
|
||||
u64 burst_us;
|
||||
|
||||
burst_us = tg->cfs_bandwidth.burst;
|
||||
do_div(burst_us, NSEC_PER_USEC);
|
||||
|
||||
return burst_us;
|
||||
}
|
||||
|
||||
static s64 cpu_cfs_quota_read_s64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cft)
|
||||
{
|
||||
return tg_get_cfs_quota(css_tg(css));
|
||||
}
|
||||
|
||||
static int cpu_cfs_quota_write_s64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cftype, s64 cfs_quota_us)
|
||||
{
|
||||
return tg_set_cfs_quota(css_tg(css), cfs_quota_us);
|
||||
}
|
||||
|
||||
static u64 cpu_cfs_period_read_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cft)
|
||||
{
|
||||
return tg_get_cfs_period(css_tg(css));
|
||||
}
|
||||
|
||||
static int cpu_cfs_period_write_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cftype, u64 cfs_period_us)
|
||||
{
|
||||
return tg_set_cfs_period(css_tg(css), cfs_period_us);
|
||||
}
|
||||
|
||||
static u64 cpu_cfs_burst_read_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cft)
|
||||
{
|
||||
return tg_get_cfs_burst(css_tg(css));
|
||||
}
|
||||
|
||||
static int cpu_cfs_burst_write_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cftype, u64 cfs_burst_us)
|
||||
{
|
||||
return tg_set_cfs_burst(css_tg(css), cfs_burst_us);
|
||||
}
|
||||
|
||||
struct cfs_schedulable_data {
|
||||
struct task_group *tg;
|
||||
u64 period, quota;
|
||||
|
|
@ -9649,6 +9613,42 @@ static int cpu_cfs_local_stat_show(struct seq_file *sf, void *v)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u64 cpu_cfs_period_read_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cft)
|
||||
{
|
||||
return tg_get_cfs_period(css_tg(css));
|
||||
}
|
||||
|
||||
static s64 cpu_cfs_quota_read_s64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cft)
|
||||
{
|
||||
return tg_get_cfs_quota(css_tg(css));
|
||||
}
|
||||
|
||||
static u64 cpu_cfs_burst_read_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cft)
|
||||
{
|
||||
return tg_get_cfs_burst(css_tg(css));
|
||||
}
|
||||
|
||||
static int cpu_cfs_period_write_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cftype, u64 cfs_period_us)
|
||||
{
|
||||
return tg_set_cfs_period(css_tg(css), cfs_period_us);
|
||||
}
|
||||
|
||||
static int cpu_cfs_quota_write_s64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cftype, s64 cfs_quota_us)
|
||||
{
|
||||
return tg_set_cfs_quota(css_tg(css), cfs_quota_us);
|
||||
}
|
||||
|
||||
static int cpu_cfs_burst_write_u64(struct cgroup_subsys_state *css,
|
||||
struct cftype *cftype, u64 cfs_burst_us)
|
||||
{
|
||||
return tg_set_cfs_burst(css_tg(css), cfs_burst_us);
|
||||
}
|
||||
#endif /* CONFIG_CFS_BANDWIDTH */
|
||||
|
||||
#ifdef CONFIG_RT_GROUP_SCHED
|
||||
|
|
@ -9710,16 +9710,16 @@ static struct cftype cpu_legacy_files[] = {
|
|||
},
|
||||
#endif
|
||||
#ifdef CONFIG_CFS_BANDWIDTH
|
||||
{
|
||||
.name = "cfs_quota_us",
|
||||
.read_s64 = cpu_cfs_quota_read_s64,
|
||||
.write_s64 = cpu_cfs_quota_write_s64,
|
||||
},
|
||||
{
|
||||
.name = "cfs_period_us",
|
||||
.read_u64 = cpu_cfs_period_read_u64,
|
||||
.write_u64 = cpu_cfs_period_write_u64,
|
||||
},
|
||||
{
|
||||
.name = "cfs_quota_us",
|
||||
.read_s64 = cpu_cfs_quota_read_s64,
|
||||
.write_s64 = cpu_cfs_quota_write_s64,
|
||||
},
|
||||
{
|
||||
.name = "cfs_burst_us",
|
||||
.read_u64 = cpu_cfs_burst_read_u64,
|
||||
|
|
|
|||
Loading…
Reference in New Issue