Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/12/09 09:10
Read: times


 
#170729 - Diligent fun?
Responding to: ???'s previous message
Deciding which operations must be atomic is mostly a matter of meticulous analysis. Where an operation is not guarded but should have been, the bug will appear intermittently and may be fearsomely difficult to trap. Often there is only a small timing window during which there is a risk, and an asynchronous event must occur at just the right (or wrong, depending on interpretation) time for the system to fail.

The cautious approach is to be liberal with atomic guards, but as you have noticed, this can slow a system considerably. Disabling an interrupt unnecessarily can really throttle throughput badly. If high performance is a requirement, then an analysis needs to be performed up front, as it is hard to speed up the code at a later date.

Note that in my opinion it is not the enable/disable instruction execution time that slows a system but the fact that interrupt latencies are extended that slows a system.

List of 6 messages in thread
TopicAuthorDate
Interrupt fun            01/01/70 00:00      
   at the project in front of you I see ...            01/01/70 00:00      
   It's Atomic            01/01/70 00:00      
   Ring buffer            01/01/70 00:00      
   Diligent fun?            01/01/70 00:00      
      individual disa/ena and latencies            01/01/70 00:00      

Back to Subject List