2001-07-31 15:21:04

by mdaljeet

[permalink] [raw]
Subject: scheduling problem

Hi,

I have a apple G4 machine that is dual processor and running SMP kernel. On
the lines of a patch I ceated a module that I use to bind a process to a
processor.

My program creates multiple threads and there are multiple instances of
program running at same time. All the threads/processes are binded to a
single processor. If I boot my machine in non-SMP kernel and run all the
instances of my program, everything works fine. But if I boot my machine in
SMP kernel and run all the instances of my program, I get a timeout
condition from one of the threads regularly but at random intervals of
time. After adding a lot of debugging statements, most probably it scales
down to scheduling problem. I added 'sleep(1)' in all the threads that are
created and everything worked fine. Are there any other methods to debug?
How can I find out the time intervals during which a process was scheduled
out and on which processor it ran on during its lifetime?

Regards,
Daljeet.