Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
From: Nick Piggin <hidden>
Date: 2007-08-17 07:26:47
Also in:
linux-arch, lkml
From: Nick Piggin <hidden>
Date: 2007-08-17 07:26:47
Also in:
linux-arch, lkml
Satyam Sharma wrote:
#define atomic_read_volatile(v) \
({ \
forget((v)->counter); \
((v)->counter); \
})
where:*vomit* :) Not only do I hate the keyword volatile, but the barrier is only a one-sided affair so its probable this is going to have slightly different allowed reorderings than a real volatile access. Also, why would you want to make these insane accessors for atomic_t types? Just make sure everybody knows the basics of barriers, and they can apply that knowledge to atomic_t and all other lockless memory accesses as well.
#define forget(a) __asm__ __volatile__ ("" :"=m" (a) :"m" (a))I like order(x) better, but it's not the most perfect name either. -- SUSE Labs, Novell Inc.