Subject: [boost] Cache flushing in the constructors
From: Sid Sacek (ssacek_at_[hidden])
Date: 2010-08-04 09:46:20
I've been struggling with these thoughts lately, and am curious how the boost "class" writers deal with it, or if there's any problem at all to begin with.
If I want to write a boost class that's going to be compiled for all the supported CPU types, do I have to perform a core-cache flush at the end of my class constructors?
I know that there are the "Strong Memory Model" CPU's out there, like the Intel x86 cores, that auto-magically take care of cache-coherency for you, and the "Weak Memory Model" CPU's where the code has to do all of the work for cache-coherency.
When developing a boost class that's going to be an object that's used in multi-threaded applications; do these classes use some BOOST utility to performs cache flushes on the newly constructed objects, or am I just thinking about this in the wrong way, which I'm starting to believe is true.
I'm new to thinking about these things, and my head hurts! Your views would be appreciated.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk