lkml.org 
[lkml]   [2014]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 08/11] sched: get CPU's activity statistic
    On Wed, Jun 04, 2014 at 10:35:15AM +0100, Vincent Guittot wrote:
    > On 4 June 2014 11:23, Peter Zijlstra <peterz@infradead.org> wrote:
    > > On Wed, Jun 04, 2014 at 09:55:42AM +0100, Morten Rasmussen wrote:
    > >> Both running_avg and runnable_avg are affected by other tasks on the
    > >> same cpus, but in different ways. They are equal if you only have one
    > >> task on a cpu. If you have more, running_avg will give you the true
    > >> requirement of the tasks until the cpu is fully utilized. At which point
    > >> the task running_avg will drop if you add more tasks (the unweighted sum
    > >> of task running_avgs remains constant).
    > >>
    > >> runnable_avg on the other hand, might be affected as soon as you have
    > >> two task running on the same cpu if they are runnable at the same time.
    > >> That isn't necessarily a bad thing for load-balancing purposes, because
    > >> tasks that are runnable at the same time are likely to be run more
    > >> efficiently by placing them on different cpus. You might view as at sort
    > >> of built in concurrency factor, somewhat similar to what Yuyang is
    > >> proposing. runnable_avg increases rapidly when the cpu is over-utilized.
    > >
    > > Agreed.
    > >
    > >> > I'm not sure I see how 100% is possible, but yes I agree that runnable
    > >> > can indeed be inflated due to this queueing effect.
    > >>
    > >> You should only be able to get to 75% worst case for runnable_avg for
    > >> that example. The total running_avg is 50% no matter if the tasks
    > >> overlaps or not.
    > >
    > > Yes, 75% is what I ended up with.
    >
    > Can you explain how you reach 75% as it depends on the runtime and a
    > runtime longer than 345ms will end to a 100% load whatever the
    > idletime was previously ?

    If the busy period of each task is long enough that the first one to run
    runs to completetion before the other task is scheduled you get 25% and
    50%. But as I said in my other reply, you can get higher task runnable
    if the tasks busy period is long enough that you switch between them
    before the first one completes.


    \
     
     \ /
      Last update: 2014-06-04 13:01    [W:4.415 / U:2.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site