Strange scheduling behavoir in SMP (kernel 2.2.14)

Peter Waltenberg peterw en surf.dascom.com
Jue Ene 27 22:00:32 CST 2000


> aflores en ditec.um.es wrote
=============================
Hi,

I have a SMP machine with two Pentium III. In order to compare  performance
with other machines I began a simple test:

for (i=0;i<MAX_NUMBER;i++)
  for(j=0;j<MAX_NUMBER;j++)
           c=a*b;               /* These variables could be integer or double */


Using kernel 2.2.12 with SMP support this simple program take more time in my
machine than in a uniprocessor with K6-2 (the same problem appear in the last
stable kernel 2.2.14) Using xosview
application I discovered where the problem was. Instead of staying all the time
in the same cpu, the process go from one cpu to other with a big performance
lost.

Am I right?. Has been this problem solved in 2.3.x series?

Thanks a lot in advance.
===============================

No, it's still broken. Andrea has some patches for 2.2.
2.3 is still worse SMP than UP for anything CPU intensive.

I'm amazed that people are whinging about a phantom 5% in the scheduler when
there's a real 100%+ to be gained by fixing this one.

It's a real bug. The current scheduler kicks running processes even when
there's an idle CPU available. That means that heavy CPU use processes get
ping-ponged across CPU's. 

It's bad on a Dual Celeron with small caches, it must be a real killer on an 8
way Xeon ;)

Peter

----------------------------------
Peter Waltenberg
Software Engineer
IBM Software Group, Gold Coast

Phone: +61 7 5578 8933
Fax:     +61 7 5578 8146
----------------------------------

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



Más información sobre la lista de distribución Ayuda