mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
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.org
This commit is contained in:
parent
d403a3689a
commit
de4c80c696
|
|
@ -9404,20 +9404,14 @@ static int tg_set_cfs_bandwidth(struct task_group *tg, u64 period, u64 quota,
|
||||||
return 0;
|
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);
|
cfs_period_us = ktime_to_ns(tg->cfs_bandwidth.period);
|
||||||
burst = tg->cfs_bandwidth.burst;
|
do_div(cfs_period_us, NSEC_PER_USEC);
|
||||||
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 tg_set_cfs_bandwidth(tg, period, quota, burst);
|
return cfs_period_us;
|
||||||
}
|
}
|
||||||
|
|
||||||
static long tg_get_cfs_quota(struct task_group *tg)
|
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;
|
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)
|
static int tg_set_cfs_period(struct task_group *tg, long cfs_period_us)
|
||||||
{
|
{
|
||||||
u64 quota, period, burst;
|
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);
|
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);
|
period = ktime_to_ns(tg->cfs_bandwidth.period);
|
||||||
do_div(cfs_period_us, NSEC_PER_USEC);
|
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)
|
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);
|
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 cfs_schedulable_data {
|
||||||
struct task_group *tg;
|
struct task_group *tg;
|
||||||
u64 period, quota;
|
u64 period, quota;
|
||||||
|
|
@ -9649,6 +9613,42 @@ static int cpu_cfs_local_stat_show(struct seq_file *sf, void *v)
|
||||||
|
|
||||||
return 0;
|
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 */
|
#endif /* CONFIG_CFS_BANDWIDTH */
|
||||||
|
|
||||||
#ifdef CONFIG_RT_GROUP_SCHED
|
#ifdef CONFIG_RT_GROUP_SCHED
|
||||||
|
|
@ -9710,16 +9710,16 @@ static struct cftype cpu_legacy_files[] = {
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_CFS_BANDWIDTH
|
#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",
|
.name = "cfs_period_us",
|
||||||
.read_u64 = cpu_cfs_period_read_u64,
|
.read_u64 = cpu_cfs_period_read_u64,
|
||||||
.write_u64 = cpu_cfs_period_write_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",
|
.name = "cfs_burst_us",
|
||||||
.read_u64 = cpu_cfs_burst_read_u64,
|
.read_u64 = cpu_cfs_burst_read_u64,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user