> 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). > >
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. - Dominic ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/18718/#review38161 ----------------------------------------------------------- On March 20, 2014, 2:44 p.m., Dominic Hamon wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/18718/ > ----------------------------------------------------------- > > (Updated March 20, 2014, 2:44 p.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/Makefile.am 3c6219eb6e76306463b3710ab7e50ec8b75d3d76 > 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/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 > > Diff: https://reviews.apache.org/r/18718/diff/ > > > Testing > ------- > > Added unit tests. make check. > > > Thanks, > > Dominic Hamon > >