Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Alexander Terekhov Newsgroups: comp.programming.threads Subject: Re: questions about memory_order_seq_cst fence Date: Mon, 20 Jun 2011 15:30:25 +0200 Organization: A noiseless patient Spider Lines: 39 Message-ID: <4DFF4B71.20A46979@web.de> References: <43eb372b-6517-4914-b647-860f1f7136ba@k15g2000pri.googlegroups.com> <87tybsm5kq.fsf@justsoftwaresolutions.co.uk> <35ec803e-2871-41ce-97ea-8b615b29050f@r33g2000prh.googlegroups.com> <87hb7r5z03.fsf@justsoftwaresolutions.co.uk> <87fwnafd9j.fsf@justsoftwaresolutions.co.uk> <4358686f-7bfb-480e-ae71-a8ce57566ab0@l14g2000pro.googlegroups.com> <871uyuasc0.fsf@justsoftwaresolutions.co.uk> <4DFCAB39.35CDACC8@web.de> <87oc1ssyaq.fsf@justsoftwaresolutions.co.uk> Reply-To: terekhov@web.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Injection-Info: mx04.eternal-september.org; posting-host="MCbSEzW5qwGLFMNXJh39IQ"; logging-data="24166"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+9iZb5sgnVREaOocZ+vaTtGCE8ozHSzbU=" X-Mailer: Mozilla 4.77 [en] (Windows NT 5.0; U) X-Accept-Language: en Cancel-Lock: sha1:jQAxvZRE14si/YBDCLaTXNGEu4I= Xref: x330-a1.tempe.blueboxinc.net comp.programming.threads:333 Anthony Williams wrote: > > Alexander Terekhov writes: > > > Anthony Williams wrote: > >> > >> Masakuni Oishi writes: > >> > >> > If so, for the code 1 in my first post, is the outcome > >> > r1 == 0 && r2 == 1 && r3 == 0 possible on IA-64? > >> > >> I believe so. > > > > Perhaps this is relevant: > > > > http://download.intel.com/design/itanium/downloads/25142901.pdf > > > > See 3.3.7.1 Total ordering of WB Releases. > > > > (remote write atomicity) > > Maybe I'm wrong; I am not an expert on IA-64 semantics. Suppose that I can program in terms of C++MM's acquire/release. The platform is x86. How am I supposed to ensure remote write atomicity ala IA-64 releases for a particular store (relevant loads) using C++MM and NOT pessimizing everything to seq_cst? The next question is regarding store-load fencing for particular release-store and subsequent acquire-load. If both can not be done easily under C++MM then it is pretty useless to me. regards, alexander.