Hi, I am trying, as part of my thesis, to make some improvement to the linux scheduler. Therefore I've written a small multithreaded application and tested how long on average it takes for it to complete. The results were very surprising. I expected to see the completion time vary 1 to 2 seconds at most. Instead what I've got was an oscillation where the maximum time was twice and more than the minimum!! For a short test results ranged ~7sec to ~16 sec, and the same happened to longer tests where the min was ~1min and the max ~2:30min. Does anyone have any clue as to what might happen ? Is there anything I can do to get stable results ? Here is a small test case program: (See attached file: sched_test.c) The test was always done on a pretty much empty machine. I've tried both kernel 2.6.4-52 and 2.6.13.4 but the results were the same. I'm working on a Xeon Intel machine, dual processor, hyperthreaded. Below is the info from /proc/cpuinfo (See attached file: cpuinfo.log) The machine's configuration is as follows: (filtered with grep "=[y|m]" ) (See attached file: conf_filtered) Please respond to either: [email protected] or [email protected] as I am not subscribed to the mailing list. Thank you for your help, Marcel
Attachment:
sched_test.c
Description: Binary data
Attachment:
cpuinfo.log
Description: Binary data
Attachment:
conf_filtered
Description: Binary data
- Follow-Ups:
- Prev by Date: Re: [git pull 00/14] Input updates for 2.6.15
- Next by Date: Re: [git pull 03/14] Wistron - disable for x86_64
- Previous by thread: [Patch] kernel/ptrace.c minor cleanup
- Next by thread: Re: Inconsistent timing results of multithreaded program on an SMP machine.
- Index(es):