Re: [PATCH v10 8/9] sched/fair: Add latency list

From: Peter Zijlstra
Date: Tue Feb 21 2023 - 10:12:28 EST


On Fri, Jan 13, 2023 at 03:12:33PM +0100, Vincent Guittot wrote:
> @@ -12552,8 +12634,15 @@ int sched_group_set_latency(struct task_group *tg, s64 latency)
>
> for_each_possible_cpu(i) {
> struct sched_entity *se = tg->se[i];
> + struct rq *rq = cpu_rq(i);
> + struct rq_flags rf;
> +
> + rq_lock_irqsave(rq, &rf);
>
> + __dequeue_latency(se->cfs_rq, se);
> WRITE_ONCE(se->latency_offset, latency);
> +
> + rq_unlock_irqrestore(rq, &rf);
> }

This seems asymmetric; maybe something like:

queued = __dequeue_latency(..);
WRITE_ONCE(...);
if (queued)
__enqueue_latency(...);

?