Messages in this thread |  | | From | Linus Torvalds <> | Date | Sun, 6 Jan 2013 10:31:12 -0800 | Subject | Re: [PATCH v3 09/22] sched: compute runnable load avg in cpu_load and cpu_avg_load_per_task |
| |
On Sat, Jan 5, 2013 at 11:54 PM, Alex Shi <alex.shi@intel.com> wrote: > > I just looked into the aim9 benchmark, in this case it forks 2000 tasks, > after all tasks ready, aim9 give a signal than all tasks burst waking up > and run until all finished. > Since each of tasks are finished very quickly, a imbalanced empty cpu > may goes to sleep till a regular balancing give it some new tasks. That > causes the performance dropping. cause more idle entering.
Sounds like for AIM (and possibly for other really bursty loads), we might want to do some load-balancing at wakeup time by *just* looking at the number of running tasks, rather than at the load average. Hmm?
The load average is fundamentally always going to run behind a bit, and while you want to use it for long-term balancing, a short-term you might want to do just a "if we have a huge amount of runnable processes, do a load balancing *now*". Where "huge amount" should probably be relative to the long-term load balancing (ie comparing the number of runnable processes on this CPU right *now* with the load average over the last second or so would show a clear spike, and a reason for quick action).
Linus
|  |