lkml.org 
[lkml]   [2018]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH v2 3/6] sched: Add over-utilization/tipping point indicator
On Tue, Apr 17, 2018 at 07:39:21PM +0200, Dietmar Eggemann wrote:
> On 04/17/2018 04:25 PM, Leo Yan wrote:
>
> >>@@ -5394,8 +5416,10 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
> >> update_cfs_group(se);
> >> }
> >>- if (!se)
> >>+ if (!se) {
> >> add_nr_running(rq, 1);
> >>+ update_overutilized_status(rq);
> >>+ }
> >
> >Maybe this isn't a good question, why only update overutilized flag
> >for enqueue flow but not for dequeue flow?
>
> [...]
>
> >>@@ -9955,6 +10009,8 @@ static void task_tick_fair(struct rq *rq, struct task_struct *curr, int queued)
> >> if (static_branch_unlikely(&sched_numa_balancing))
> >> task_tick_numa(rq, curr);
> >>+
> >>+ update_overutilized_status(rq);
> >
> >Can sched tick clear overutilized flag if under tipping point?
>
> No, only the load balancer for this particular sched domain level is able to
> clear the flag. We want to use the existing iteration over all cpus of the
> sched domain span to reset the flag.

Yes and sorry introduce noise. The overutilized flag is shared with
all CPUs in the sched domain, so one CPU can set overutilized flag
for itself, but the CPU cannot clear the flag due this flag might be
set by other CPUs in the same sched domain.

Thanks,
Leo Yan

\
 
 \ /
  Last update: 2018-04-18 02:19    [W:0.065 / U:6.844 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site