An error occurred fetching the project authors.
  1. 05 Nov, 2008 1 commit
    • Peter Zijlstra's avatar
      sched: backward looking buddy · 4793241b
      Peter Zijlstra authored
      Impact: improve/change/fix wakeup-buddy scheduling
      
      Currently we only have a forward looking buddy, that is, we prefer to
      schedule to the task we last woke up, under the presumption that its
      going to consume the data we just produced, and therefore will have
      cache hot benefits.
      
      This allows co-waking producer/consumer task pairs to run ahead of the
      pack for a little while, keeping their cache warm. Without this, we
      would interleave all pairs, utterly trashing the cache.
      
      This patch introduces a backward looking buddy, that is, suppose that
      in the above scenario, the consumer preempts the producer before it
      can go to sleep, we will therefore miss the wakeup from consumer to
      producer (its already running, after all), breaking the cycle and
      reverting to the cache-trashing interleaved schedule pattern.
      
      The backward buddy will try to schedule back to the task that woke us
      up in case the forward buddy is not available, under the assumption
      that the last task will be the one with the most cache hot task around
      barring current.
      
      This will basically allow a task to continue after it got preempted.
      
      In order to avoid starvation, we allow either buddy to get wakeup_gran
      ahead of the pack.
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: default avatarMike Galbraith <efault@gmx.de>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      4793241b
  2. 20 Oct, 2008 1 commit
  3. 22 Sep, 2008 2 commits
    • Ingo Molnar's avatar
      sched: turn off WAKEUP_OVERLAP · f681bbd6
      Ingo Molnar authored
      WAKEUP_OVERLAP is not a winner on a 16way box, running psql+sysbench:
      
             .27-rc7-NO_WAKEUP_OVERLAP  .27-rc7-WAKEUP_OVERLAP
      -------------------------------------------------
          1:             694              811    +14.39%
          2:            1454             1427    -1.86%
          4:            3017             3070    +1.70%
          8:            5694             5808    +1.96%
         16:           10592            10612    +0.19%
         32:            9693             9647    -0.48%
         64:            8507             8262    -2.97%
        128:            8402             7087    -18.55%
        256:            8419             5124    -64.30%
        512:            7990             3671    -117.62%
      -------------------------------------------------
        SUM:           64466            55524    -16.11%
      
      ... so turn it off by default.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f681bbd6
    • Peter Zijlstra's avatar
      sched: wakeup preempt when small overlap · 15afe09b
      Peter Zijlstra authored
      Lin Ming reported a 10% OLTP regression against 2.6.27-rc4.
      
      The difference seems to come from different preemption agressiveness,
      which affects the cache footprint of the workload and its effective
      cache trashing.
      
      Aggresively preempt a task if its avg overlap is very small, this should
      avoid the task going to sleep and find it still running when we schedule
      back to it - saving a wakeup.
      Reported-by: default avatarLin Ming <ming.m.lin@intel.com>
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      15afe09b
  4. 21 Aug, 2008 1 commit
  5. 27 Jun, 2008 5 commits
  6. 10 Jun, 2008 1 commit
  7. 19 Apr, 2008 1 commit