On Thu, Jan 16, 2014 at 04:08:31PM -0800, Tim Chen wrote: > +#ifndef arch_mcs_spin_lock_contended > +/* > + * Using smp_load_acquire() provides a memory barrier that ensures > + * subsequent operations happen after the lock is acquired. > + */ > +#define arch_mcs_spin_lock_contended(l) \ > + while (!(smp_load_acquire(l))) { \ > + arch_mutex_cpu_relax(); \ > + } > +#endif I think that wants to be: #define arch_mcs_spin_lock_contended(l) \ do { \ while (!smp_load_acquire(l)) \ arch_mutex_cpu_relax(); \ } while (0) So that we properly eat the ';' in: arch_mcs_spin_lock_contended(l);. > +#ifndef arch_mcs_spin_unlock_contended > +/* > + * smp_store_release() provides a memory barrier to ensure all > + * operations in the critical section has been completed before > + * unlocking. > + */ > +#define arch_mcs_spin_unlock_contended(l) \ > + smp_store_release((l), 1) > #endif -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>