From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Forcing GNAT to use 32-bit load/store instructions on ARM? Date: Wed, 9 Jul 2014 09:31:43 +0200 Organization: cbb software GmbH Message-ID: <1l6z27vulrv65.1xwdi0b9yactc$.dlg@40tude.net> References: <0e0b9ac2-e793-4cc5-8d8d-d3441ca28a58@googlegroups.com> <1j7b0m3yptffy$.1cztnkty8elrv$.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: ot/DC7n2aCvt5pcTM4dZCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:20822 Date: 2014-07-09T09:31:43+02:00 List-Id: On Tue, 8 Jul 2014 15:34:04 -0500, Randy Brukardt wrote: > To make > "Read-Modify-Write" indivisible, you'd need a test-and-set instruction, > which would require far more restrictions than Atomic does. (I don't see any > way to make a general Read-Modify-Write to be indivisible on Windows or > Linux, for instance, as that requires shutting off interrupts.) I don't think this should be the semantics of "indivisible". Because as you said it incredibly difficult to ensure, but more importantly is that this is mot what programmers actually need. They need it rather be logically indivisible from the process' point of view. If the process could lose the processor in between would be no problem for most if not all applications. If anybody wanted on top of that to block all other processes, system kernel, interrupts and the very memory bus itself, he would do this by other means. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de