Re: [PATCH 2/2] sched/fair: Relax task_hot() for misfit tasks
From: Phil Auld
Date: Mon Apr 19 2021 - 09:00:09 EST
On Fri, Apr 16, 2021 at 10:43:38AM +0100 Valentin Schneider wrote:
> On 15/04/21 16:39, Rik van Riel wrote:
> > On Thu, 2021-04-15 at 18:58 +0100, Valentin Schneider wrote:
> >> Consider the following topology:
> >>
> >> Long story short, preempted misfit tasks are affected by task_hot(),
> >> while
> >> currently running misfit tasks are intentionally preempted by the
> >> stopper
> >> task to migrate them over to a higher-capacity CPU.
> >>
> >> Align detach_tasks() with the active-balance logic and let it pick a
> >> cache-hot misfit task when the destination CPU can provide a capacity
> >> uplift.
> >>
> >> Signed-off-by: Valentin Schneider <valentin.schneider@xxxxxxx>
> >
> > Reviewed-by: Rik van Riel <riel@xxxxxxxxxxx>
> >
>
> Thanks!
>
> >
> > This patch looks good, but...
> >
> >> @@ -7672,6 +7698,15 @@ int can_migrate_task(struct task_struct *p,
> >> struct lb_env *env)
> >> if (tsk_cache_hot == -1)
> >> tsk_cache_hot = task_hot(p, env);
> >>
> >> + /*
> >> + * On a (sane) asymmetric CPU capacity system, the increase in
> >> compute
> >> + * capacity should offset any potential performance hit caused
> >> by a
> >> + * migration.
> >> + */
> >> + if ((env->dst_grp_type == group_has_spare) &&
> >> + !migrate_degrades_capacity(p, env))
> >> + tsk_cache_hot = 0;
> >
> > ... I'm starting to wonder if we should not rename the
> > tsk_cache_hot variable to something else to make this
> > code more readable. Probably in another patch :)
> >
>
> I'd tend to agree, but naming is hard. "migration_harmful" ?
I thought Rik meant tsk_cache_hot, for which I'd suggest at least
buying a vowel and putting an 'a' in there :)
Cheers,
Phil
>
> > --
> > All Rights Reversed.
>
--