home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 130,435 of 131,241   
   David Brown to MitchAlsup   
   Re: Memory ordering (Re: Multi-precision   
   05 Dec 25 20:10:11   
   
   From: david.brown@hesbynett.no   
      
   On 05/12/2025 18:57, MitchAlsup wrote:   
   >   
   > anton@mips.complang.tuwien.ac.at (Anton Ertl) posted:   
   >   
   >> David Brown  writes:   
   >>> "volatile" /does/ provide guarantees - it just doesn't provide enough   
   >>> guarantees for multi-threaded coding on multi-core systems.  Basically,   
   >>> it only works at the C abstract machine level - it does nothing that   
   >>> affects the hardware.  So volatile writes are ordered at the C level,   
   >>> but that says nothing about how they might progress through storage   
   >>> queues, caches, inter-processor communication buses, or whatever.   
   >>   
   >> You describe in many words and not really to the point what can be   
   >> explained concisely as: "volatile says nothing about memory ordering   
   >> on hardware with weaker memory ordering than sequential consistency".   
   >> If hardware guaranteed sequential consistency, volatile would provide   
   >> guarantees that are as good on multi-core machines as on single-core   
   >> machines.   
   >>   
   >> However, for concurrent manipulations of data structures, one wants   
   >> atomic operations beyond load and store (even on single-core systems),   
   >   
   > Such as ????   
      
   Atomic increment, compare-and-swap, locks, loads and stores of sizes   
   bigger than the maximum load/store size of the processor.  Even with a   
   single core system you can have pre-emptive multi-threading, or at least   
   interrupt routines that may need to cooperate with other tasks on data.   
      
   >   
   >> and I don't think that C with just volatile gives you such guarantees.   
   >>   
   >> - anton   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca