> On March 21, 2014, 12:03 p.m., Jie Yu wrote: > > 3rdparty/libprocess/include/process/metrics/counter.hpp, line 21 > > <https://reviews.apache.org/r/18718/diff/8/?file=530656#file530656line21> > > > > I don't think we need the __sync call here. Simply to the following is > > sufficient: > > > > return static_cast<double>(value); > > > > First, we don't use counter for synchronization, as a result, we don't > > really need memory barrier here. > > > > Second, since 'value' is a single variable, the cache coherence > > protocol will make sure that a read gets the mostly written value (i.e., if > > some other processor writes to this value, the cache copies in other > > processors will be invalidated). > > > > Dominic Hamon wrote: > I think you're right, but Any Day Now(tm) we'll have std::atomic to play > with and this will be an atomic load. I'd like to keep the __sync builtin so > it's easy to search the code to find places that need updating.
Changed my mind - let's keep this simple. It will be obvious when we port to std::atomic. - Dominic ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/18718/#review38161 ----------------------------------------------------------- On March 24, 2014, 10:40 a.m., Dominic Hamon wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/18718/ > ----------------------------------------------------------- > > (Updated March 24, 2014, 10:40 a.m.) > > > Review request for mesos, Benjamin Hindman and Ben Mahler. > > > Bugs: MESOS-1036 > https://issues.apache.org/jira/browse/MESOS-1036 > > > Repository: mesos-git > > > Description > ------- > > See summary > > > Diffs > ----- > > 3rdparty/libprocess/3rdparty/stout/include/stout/cache.hpp > 67b88bc5959e2d8c2cee5c0a218229c293afcf60 > 3rdparty/libprocess/Makefile.am 3c6219eb6e76306463b3710ab7e50ec8b75d3d76 > 3rdparty/libprocess/configure.ac 2e0b72c223955a21573c0d2937420635c128b4d8 > 3rdparty/libprocess/include/process/metrics/counter.hpp PRE-CREATION > 3rdparty/libprocess/include/process/metrics/gauge.hpp PRE-CREATION > 3rdparty/libprocess/include/process/metrics/metric.hpp PRE-CREATION > 3rdparty/libprocess/m4/ax_compare_version.m4 > 97448f96054d377073317cb6fec98fcd6c5515b9 > 3rdparty/libprocess/src/metrics/metric.cpp PRE-CREATION > 3rdparty/libprocess/src/metrics/metrics.hpp PRE-CREATION > 3rdparty/libprocess/src/metrics/metrics.cpp PRE-CREATION > 3rdparty/libprocess/src/process.cpp > 6c6acc03ad78779e8f25b1a4584069fd377f647b > 3rdparty/libprocess/src/tests/metrics_tests.cpp PRE-CREATION > configure.ac 5404dc29a53368332b386a410226652ff7425fc7 > docs/powered-by-mesos.md aee232eab7508f6aa948128531a41db9e7e6e3d2 > m4/ax_compare_version.m4 97448f96054d377073317cb6fec98fcd6c5515b9 > src/master/master.hpp a37a2a2fa3713b8251eb318dfb45e0793cb344ff > src/master/master.cpp 3b28f72be2016997e30649d2b12ed0e8f1a57dd5 > src/slave/containerizer/containerizer.cpp > 344872a6485c5b0c2c68ddbe0190e52e99cc0b0c > > Diff: https://reviews.apache.org/r/18718/diff/ > > > Testing > ------- > > Added unit tests. make check. > > > Thanks, > > Dominic Hamon > >