lkml.org 
[lkml]   [2005]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
DateSat, 17 Dec 2005 22:30:41 -0800 (PST)
FromLinus Torvalds <>
SubjectRe: [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/

\
 
 \ /
  Last update: 2009-11-18 23:46    [from the cache]
©2003-2010