Messages in this thread | | | Date | Sat, 17 Dec 2005 23:18:54 -0500 (EST) | From | Steven Rostedt <> | Subject | Re: [PATCH 1/12]: MUTEX: Implement mutexes |
| |
On Sat, 17 Dec 2005, Nicolas Pitre wrote:
> > Now if you don't disable interrupts then nothing prevents an interrupt > handler, or another thread if kernel preemption is allowed, to come > along right between (2) and (4) to call up() or down() which will > make the sem count inconsistent as soon as the interrupted down() or > up() is resumed. >
Well, the one thing that is preventing this is the fact that interrupts don't call up and down, since down can schedule. Now they might do a down_trylock, but then if it would succeed, it would most likely call the up. So the semaphore would be back to what it was before the interrupt took place.
But you do have a case about preemption.
-- Steve
- 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/
| |