1. 26 Jul, 2007 2 commits
    • Avi Kivity's avatar
      [PATCH] sched: arch preempt notifier mechanism · e107be36
      Avi Kivity authored
      This adds a general mechanism whereby a task can request the scheduler to
      notify it whenever it is preempted or scheduled back in.  This allows the
      task to swap any special-purpose registers like the fpu or Intel's VT
      registers.
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      [ mingo@elte.hu: fixes, cleanups ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e107be36
    • Ingo Molnar's avatar
      [PATCH] sched: increase SCHED_LOAD_SCALE_FUZZ · b47e8608
      Ingo Molnar authored
      increase SCHED_LOAD_SCALE_FUZZ that adds a small amount of
      over-balancing: to help distribute CPU-bound tasks more fairly on SMP
      systems.
      
      the problem of unfair balancing was noticed and reported by Tong N Li.
      
      10 CPU-bound tasks running on 8 CPUs, v2.6.23-rc1:
      
        PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
       2572 mingo     20   0  1576  244  196 R  100  0.0   1:03.61 loop
       2578 mingo     20   0  1576  248  196 R  100  0.0   1:03.59 loop
       2576 mingo     20   0  1576  248  196 R  100  0.0   1:03.52 loop
       2571 mingo     20   0  1576  244  196 R  100  0.0   1:03.46 loop
       2569 mingo     20   0  1576  244  196 R   99  0.0   1:03.36 loop
       2570 mingo     20   0  1576  244  196 R   95  0.0   1:00.55 loop
       2577 mingo     20   0  1576  248  196 R   50  0.0   0:31.88 loop
       2574 mingo     20   0  1576  248  196 R   50  0.0   0:31.87 loop
       2573 mingo     20   0  1576  248  196 R   50  0.0   0:31.86 loop
       2575 mingo     20   0  1576  248  196 R   50  0.0   0:31.86 loop
      
      v2.6.23-rc1 + patch:
      
        PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
       2681 mingo     20   0  1576  244  196 R   85  0.0   3:51.68 loop
       2688 mingo     20   0  1576  244  196 R   81  0.0   3:46.35 loop
       2682 mingo     20   0  1576  244  196 R   80  0.0   3:43.68 loop
       2685 mingo     20   0  1576  248  196 R   80  0.0   3:45.97 loop
       2683 mingo     20   0  1576  248  196 R   80  0.0   3:40.25 loop
       2679 mingo     20   0  1576  244  196 R   80  0.0   3:33.53 loop
       2680 mingo     20   0  1576  244  196 R   79  0.0   3:43.53 loop
       2686 mingo     20   0  1576  244  196 R   79  0.0   3:39.31 loop
       2687 mingo     20   0  1576  244  196 R   78  0.0   3:33.31 loop
       2684 mingo     20   0  1576  244  196 R   77  0.0   3:27.52 loop
      
      so they now nicely converge to the expected 80% long-term CPU usage.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b47e8608
  2. 25 Jul, 2007 38 commits