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.schnei...@arm.com>

Reviewed-by: Rik van Riel <r...@surriel.com>


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 :)

-- 
All Rights Reversed.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to