[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-kernel
Subject: Re: [BUG] Variable stopmachine_state should be volatile
From: Pavel Machek <pavel () ucw ! cz>
Date: 2005-11-30 22:19:31
Message-ID: 20051130221931.GB2056 () elf ! ucw ! cz
[Download RAW message or body]
Hi!
> The model to access variable stopmachine_state is that a main thread
> writes it and other threads read it. Its declaration has no sign
> volatile. In the while loop in function stopmachine, this variable is
> read, and compiler might optimize it by reading it once before the loop
> and not reading it again in the loop, so the thread might enter dead
> loop.
No. volatile may look like a solution, but it usually is not. You may
need some barriers, atomic_t or locking.
Pavel
--
Thanks, Sharp!
-
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/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic