Re: [PATCH 04/39] sched: Add sched_class->reweight_task()

Peter Zijlstra
2024-06-24T10:31:16Z

On Mon, Jun 24, 2024 at 12:23:31PM +0200, Peter Zijlstra wrote:
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 41b58387023d..07398042e342 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -3835,7 +3835,7 @@ static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se,
> }
> }
>
> -void reweight_task(struct task_struct *p, int prio)
> +void reweight_task(struct task_struct *p, unsigned long weight, u32 inv_weight)
> {
> struct sched_entity *se = &p->se;
> struct cfs_rq *cfs_rq = cfs_rq_of(se);

Lost something in transition...

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 41b58387023d..cd9b89e9e944 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3835,15 +3835,14 @@ static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se,
}
}

-void reweight_task(struct task_struct *p, int prio)
+void reweight_task(struct task_struct *p, unsigned long weight, u32 inv_weight)
{
struct sched_entity *se = &p->se;
struct cfs_rq *cfs_rq = cfs_rq_of(se);
struct load_weight *load = &se->load;
- unsigned long weight = scale_load(sched_prio_to_weight[prio]);

reweight_entity(cfs_rq, se, weight);
- load->inv_weight = sched_prio_to_wmult[prio];
+ load->inv_weight = inv_weight;
}

static inline int throttled_hierarchy(struct cfs_rq *cfs_rq);