On 05/25/2011 01:34 PM, H.J. Lu wrote: > On Wed, May 25, 2011 at 3:26 AM, Andrew Haley <a...@redhat.com> wrote: >> On 05/24/2011 07:28 PM, H.J. Lu wrote: >> >>> This patch implements pause intrinsic suggested by Andi. OK >>> for trunk? >> >> What does "full memory barrier" here mean? >> >> +@table @code >> +@item void __builtin_ia32_pause (void) >> +Generates the @code{pause} machine instruction with full memory barrier. >> +@end table >> >> There a memory clobber, but no barrier instruction AFAICS. The >> doc needs to explain it a bit better. > > There are read/load memory barrier, write/store memory barrier and > full/general > memory barrier. You can find them at > > http://www.kernel.org/doc/Documentation/memory-barriers.txt > > Should I include a pointer to it?
No. I know perfectly well what memory barriers are. I'm not asking what "full memory barrier" means. What barrier instruction(s) does __builtin_ia32_pause() generate? All I see in the patch is "rep; nop". Is that really a full memory barrier? Andrew.