[fpc-devel] volatile variables

Michael Schnell mschnell at lumino.de
Wed Jun 29 17:46:07 CEST 2011


On 06/29/2011 05:29 PM, Nikolai Zhubr wrote:
>
> . I somehow doubt that passing these system calls could let something 
> remain unflushed in the cache, as the OS will most probably have to do 
> some synchronization inside these calls for internal bookkeeping, but 
> this is IMHO kind of side-effect.
Today the cache is huge and flushing it is very expensive (as it likely 
will need to be refilled with the same data).

Thus I don't suppose the OS will flush the cache unless absolutely 
necessary. On x86 the cache works on hardware addresses (not on virtual 
process addresses) and thus reassigning a thread to the same CPU (which 
with Linux is a preferred strategy) after intermediately running some 
other process, would in fact at best find the cache filled with much of 
the old data.

-Michael



More information about the fpc-devel mailing list