> The CFS scheduler does not seem to implement sched_yield correctly. If oneI disagree with the bug report. This seems right. They're both always ready to run. They're at the same priority. Neither ever blocks. There is no reason one should get more CPU than the other. Umm, how does he get that? It's yielding at blinding speed. Nonsense. The task is always ready-to-run. There is no reason its CPU should be low. This bug report is based on a misunderstanding of what yielding means. The Linux page says: "A process can relinquish the processor voluntarily without blocking by calling sched_yield(). The process will then be moved to the end of the queue for its static priority and a new process gets to run." Notice the "without blocking" part? POSIX says: "The sched_yield() function forces the running thread to relinquish the processor until it again becomes the head of its thread list. It takes no arguments." CFS is perfectly complying with both of these. This bug report is a great example of how sched_yield can be misunderstood and misused. You can even argue that the sched_yield process should get even more CPU, since it's voluntarily relinquishing (which should be rewarded) rather than infinitely spinning (which should be punished). (Not that I agree with this argument, I'm just using it to counter-balance the other argument.) DS -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 005/196] Chinese: add translation of SubmittingDrivers |
| Andrew Morton | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
| Michael Opdenacker | [PATCH] x86: fix unconditional arch/x86/kernel/pcspeaker.c compiling |
git: | |
| David Miller | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
