On 28 March 2016 at 14:11, Sorin Vinturis <svintu...@cloudbasesolutions.com> wrote:
> Hi Guru, > > > > I have verified the ovs-atomic-msvc.h header and all the defined macros > and functions have 32-bit and 64-bit correspondent. All 64-bit macros use > InterlockedXXX functions that are atomic: InterlockedExchangeNoFence64, > InterlockedExchange64, InterlockedCompareExchange64, > _InterlockedExchangeAdd64, InterlockedAnd64, InterlockedOr64, > InterlockedXor64. I have ran test-atomic.c unit tests, on both 32-bit and > 64-bit platforms, and all the tests are verified. > > > > I also tested the 64-bit build on Hyper-V and it is stable. > > > > Is there a reason why we should not use ovs-atomic-msvc APIs for 64-bit > builds? > Unfortunately I don't remember the exact reason why I specifically excluded 64 bit builds from including the file. There was atleast one reason, where was I a little confused on how the behavior will be on 64 bit builds and to be be safe, I excluded it. If you have gone through this carefully, I am okay. > > > Thanks, > > Sorin > > > > *From:* Guru Shetty [mailto:g...@ovn.org] > *Sent:* Friday, 25 March, 2016 19:58 > *To:* Sorin Vinturis > *Cc:* dev@openvswitch.org > *Subject:* Re: [ovs-dev] [PATCH] datapath-windows: Add Windows thread > atomic APIs for x64 binaries. > > > > > > > > On 25 March 2016 at 10:41, Sorin Vinturis < > svintu...@cloudbasesolutions.com> wrote: > > This patch modifies atomic operations library export header to > include Windows thread atomic APIs, ovs-atomic-msvc.h instead of > ovs-atomic-pthreads.h, for both x86 and x64 binaries. > > Signed-off-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> > > > > Have you gone through the ovs-atomic-msvc.h intrinsics carefully to make > sure that it will actually be atomic on 64 bit? > > > > --- > lib/ovs-atomic.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/ovs-atomic.h b/lib/ovs-atomic.h > index b38c9ef..b385b9c 100644 > --- a/lib/ovs-atomic.h > +++ b/lib/ovs-atomic.h > @@ -333,7 +333,7 @@ > #include "ovs-atomic-i586.h" > #elif HAVE_GCC4_ATOMICS > #include "ovs-atomic-gcc4+.h" > - #elif _MSC_VER && _M_IX86 >= 500 > + #elif _WIN32 > #include "ovs-atomic-msvc.h" > #else > /* ovs-atomic-pthreads implementation is provided for portability. > -- > 1.9.0.msysgit.0 > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev