Messages in this thread |  | | | Date | Sat, 17 Dec 2005 22:30:41 -0800 (PST) | | From | Linus Torvalds <> | | 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
Preemption, yes. Interrupts no.
> 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.
An interrupt can never change the value without changing it back, except for the old-fashioned use of "up()" as a completion (which I don't think we do any more - we used to do it for IO completion a looong time ago).
So I think the interrupt disable could be removed for UP, at least for non-preemption.
(Of course, maybe it's not worth it. It might not be a big performance issue).
Linus - 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/
|  |