![]() | |||||||||||||
Messages in this thread |
On Wed, 2005-11-30 at 10:04 +0800, Zhang, Yanmin wrote: > 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. cpu_relax() includes a compiler barier..... so... what's wrong with the compiler that it ignores such barriers? - 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: 2005-12-02 09:11 [from the cache] ©2003-2008 | |||||||||||||