![]() | ||||||||||
Messages in this thread |
On Wed, Aug 15, 2007 at 02:49:03PM +0800, Herbert Xu wrote: > Chris Snook <csnook@redhat.com> wrote: > > > > Because atomic operations are generally used for synchronization, which requires > > volatile behavior. Most such codepaths currently use an inefficient barrier(). > > Some forget to and we get bugs, because people assume that atomic_read() > > actually reads something, and atomic_write() actually writes something. Worse, > > these are architecture-specific, even compiler version-specific bugs that are > > often difficult to track down. > > I'm yet to see a single example from the current tree where > this patch series is the correct solution. So far the only > example has been a buggy piece of code which has since been > fixed with a cpu_relax. Btw.: we still have include/asm-i386/mach-es7000/mach_wakecpu.h: while (!atomic_read(deassert)); include/asm-i386/mach-default/mach_wakecpu.h: while (!atomic_read(deassert)); Looks like they need to be fixed as well. - 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: 2007-08-15 06:21 [W:0.531 / U:0.040 seconds] ©2003-2008 Jasper Spaans | ||||||||||