Messages in this thread | | | Date | Fri, 17 Dec 1999 15:28:32 -0800 | From | Brian Pomerantz <> | Subject | Re: RasterMan on linux and threads |
| |
On Sat, Dec 18, 1999 at 01:16:17AM +0100, Ingo Molnar wrote: > > On Fri, 17 Dec 1999, Brian Pomerantz wrote: > > > Basically when you start a thread, the likelihood of it running on > > another CPU than the one the original process is running is small if > > the thread is short lived. The reason for this is the scheduler gives > > priority to a process on the same CPU as the one currently running and > > more priority if that process shares the same VM as the one that was > > just running. If a thread lives long enough or there is a large > > number of threads sharing the same VM, eventually it/they will migrate > > across more CPUs. Threads are no different than processes in this > > regard. > > this is false. We wake up any newly created thread, which means that we > immediately send a cross-CPU message to any potential idle CPU to run this > new thread. I've just measured this on pre1-2.3.34 - we start running the > newly created thread within 15 microseconds _on another CPU_ after it got > created. >
After having spent quite some time looking over the scheduler on the 2.2.10 kernel, I was under the impression that there isn't a guarantee that the new thread will be run on a different CPU because of the priority the scheduler gives to processes running on the same CPU with shared VM. This would of course only be the case if there is not an idle CPU. The chances of there not being an idle CPU especially on a quad system is pretty unlikely I suppose. Then again, I'm new at this kernel hacking so I am probably completely wrong, I bow to you since you've been doing kernel development longer than I. There aren't a whole lot of comments describing what is going on in a lot of the kernel.
BAPper
- 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/
| |