> The problem is that the scheduler doesn't see that the current task has > preemption disabled. It only looks at the priorities of the current > task, and if it can preempt it, it will. It sets the NEED_RESCHED to the > current task and waits for the preemption to schedule it out.
Ah, got it. It's a priority inversion problem, and while there is a standard solution (priority inheritance), if I were to suggest such a heavyweight solution, Linus would start yelling again and Sarah would get unhappy, and we all know how that ends up. Thank you. I will now cease displaying my ignorance in public. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/