Messages in this thread | | | Date | Wed, 19 Aug 2009 14:01:17 +0200 (CEST) | From | Marton Balint <> | Subject | Re: CPU scheduler weirdness? |
| |
On Wed, 19 Aug 2009, Peter Zijlstra wrote: > On Tue, 2009-08-18 at 21:49 +0200, Marton Balint wrote: > >> In the meantime, I was able to create a tiny C program which always >> succesfully reproduces the bug. It's basically an endless loop which does >> not stop while the process is running on the last CPU core. The program >> creates multiple instances of itself, to be able to keep all of the CPU >> cores busy. After 1 second, the processes running on other than the last >> CPU core die, the processes running on the last CPU core remain stuck >> there... >> >> I tested it on my dual core system, if someone could test it on a quad >> core and report back that would probably be useful. >> >> Usage: ./schedtest <number of CPU cores> >> >> And don't forget to kill the stuck processes after using the program! :) > > So what's the bug? Sure one task will stay on the cpu, and because there > is no contention it doesn't get migrated, and therefore won't quit, > how's that a problem?
Problem is that more than one processes remain on that CPU core, and none of them get migrated to other (idle) cores. I tested it with my E8400 processor and 2.6.31-rc5-git3 kernel.
Regards, Marton
| |