Messages in this thread |  | | From | (Oliver Neukum) | | Subject | Re: [2.4.17/18pre] VM and swap - it's really unusable | | Date | Mon, 14 Jan 2002 23:46:45 +0100 |
| |
> Well, semaphores block. And we have these races right now with > SCHED_FIFO tasks. I still contend preempt does not change the nature of > the problem and it certainly doesn't introduce a new one.
But it does:
down(&sem); do_something_that_cannot_block(); up(&sem);
Will stop a SCHED_FIFO task for a definite amount of time. Only until it returns from the kernel to user space at worst.
If do_something_that_cannot_block() can be preempted, a SCHED_FIFO task can block indefinitely long on the semaphore, because you have no guarantee that the scheduler will ever again select the the preempted task. In fact it must never again select the preempted task as long as there's another runnable SCHED_FIFO task.
Regards Oliver
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |