Linux scheduler, overscheduling performance, threads

From: Ingo Molnar (mingo@chiara.csoma.elte.hu)
Date: Fri Jan 21 2000 - 07:52:04 EST


On 20 Jan 2000, H. Peter Anvin wrote:

> > So it is a net gain on any machine with 8 or more running processes.
> > Pretty much all of my machines fall in that range and most of them
> > are personal workstations.

> *RUNNING* processes? Most desktops don't have even one running
> process most of the time.

yep, many people i believe are missing the point. Linux schedules just
fine if there are 20000+ threads running:

  moon:~/l> ps aux | wc -l
    20137
  moon:~/l> ./lat_ctx -s 0 2
  "size=0k ovr=2.82
  2 2.08

(ie. on a system with 20137 threads created we schedule from one process
to another in 2.08 microseconds. This is exactly as fast as on a system
with only a few processes.)

the issue is, how many threads are running at once. If it's much more than
the number of processors then the system is either 1) hopelessly
overloaded and needs a hardware upgrade 2) the application (or kernel) for
some reason is marking too many threads to run, and this creates
overscheduling situations. Such situations have to be avoided, but
debugging such situations is not simple. Nevertheless we cannot tell in
advance wether it's the application's or the kernel's fault. But the most
important thing is that it's definitely not the scheduler's fault. Dont
shoot the scheduler, it's just he messanger.

-- mingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jan 23 2000 - 21:00:25 EST