• Linus Torvalds's avatar
    Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f57d54ba
    Linus Torvalds authored
    Pull scheduler updates from Ingo Molnar:
     "The biggest change affects group scheduling: we now track the runnable
      average on a per-task entity basis, allowing a smoother, exponential
      decay average based load/weight estimation instead of the previous
      binary on-the-runqueue/off-the-runqueue load weight method.
    
      This will inevitably disturb workloads that were in some sort of
      borderline balancing state or unstable equilibrium, so an eye has to
      be kept on regressions.
    
      For that reason the new load average is only limited to group
      scheduling (shares distribution) at the moment (which was also hurting
      the most from the prior, crude weight calculation and whose scheduling
      quality wins most from this change) - but we plan to extend this to
      regular SMP balancing as well in the future, which will simplify and
      speed up things a bit.
    
      Other changes involve ongoing preparatory work to extend NOHZ to the
      scheduler as well, eventually allowing completely irq-free user-space
      execution."
    
    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)
      Revert "sched/autogroup: Fix crash on reboot when autogroup is disabled"
      cputime: Comment cputime's adjusting code
      cputime: Consolidate cputime adjustment code
      cputime: Rename thread_group_times to thread_group_cputime_adjusted
      cputime: Move thread_group_cputime() to sched code
      vtime: Warn if irqs aren't disabled on system time accounting APIs
      vtime: No need to disable irqs on vtime_account()
      vtime: Consolidate a bit the ctx switch code
      vtime: Explicitly account pending user time on process tick
      vtime: Remove the underscore prefix invasion
      sched/autogroup: Fix crash on reboot when autogroup is disabled
      cputime: Separate irqtime accounting from generic vtime
      cputime: Specialize irq vtime hooks
      kvm: Directly account vtime to system on guest switch
      vtime: Make vtime_account_system() irqsafe
      vtime: Gather vtime declarations to their own header file
      sched: Describe CFS load-balancer
      sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking
      sched: Make __update_entity_runnable_avg() fast
      sched: Update_cfs_shares at period edge
      ...
    f57d54ba
core.c 194 KB