<br><br><div class="gmail_quote">On Thu, Mar 10, 2011 at 8:13 AM, loody <span dir="ltr">&lt;<a href="mailto:miloody@gmail.com">miloody@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

hi<br>
<br>
2011/3/8 piyush moghe &lt;<a href="mailto:pmkernel@gmail.com">pmkernel@gmail.com</a>&gt;:<br>
<div class="im">&gt; Yes what you are saying is also right, since in order to prevent the<br>
&gt; ordering all the pending memory operations should have completed<br>
&gt; hence as you mentioned processor stops and make sure all the memory<br>
&gt; operations are completed.<br>
</div>I am not sure whether all the memory operations are completed after<br>
cpu stops running for a while.<br>
I think there should be a more aggressive and precise instruction  to<br>
handle this behavior, right?<br>
appreciate your kind help,<br>
miloody</blockquote><div><br></div><div>a consolidated view of locking primitives is in </div><div>linux-2.6.git/tools/perf/perf.h</div><div><br></div><div>it defines rmb(), cpu_relax() for many architectures in a single place.</div>

<div><br></div><div>the comment block here: </div><div> <a href="http://lxr.free-electrons.com/source/arch/x86/include/asm/system.h#L357">http://lxr.free-electrons.com/source/arch/x86/include/asm/system.h#L357</a></div><div>

<br></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8">lines 371-421, say that rmb is heavier than memory_barrier() or barrier().</div><div>I think the comment speaks to your &quot;aggressive and precise&quot; questions.</div>

<div><br></div></div>