[zeromq-dev] [PATCH] Update to OpenPGM 5.1.110.

Steven McCoy steven.mccoy at miru.hk
Tue Mar 8 04:36:24 CET 2011


Just minor tweaks, already noted on stackoverflow that ML64 does not have
the same features as ML, the examples in the SDK have an invalid syntax when
ported to x64.

Also, CMake doesn't generate the MSVC project files including the asm,
probably at a later date as it is plastered with notices.

32-bit build (supported):

http://miru.hk/archive/OpenPGM-5.1.110-win32.exe

64-bit build (unsupported, repo revision 1337):

http://miru.hk/archive/OpenPGM-5.1.111-win64.exe

-- 
Steve-o

On 8 March 2011 10:40, Steven McCoy <steven.mccoy at miru.hk> wrote:

> The trunk builds but skips the asm because CMake 2.8.3 is broken, I've
> updated to 2.8.4 and CMake is too stupid to find MSVC 2010 Professional and
> asks me to install the 7.1 SDK so I end up with I guess six compilers now.
>
> I'll get there eventually.
>
> The 8-bit and 16-bit atomics are a part of how ticket locks work, they
> improve latency in low contention situations, i.e. PGM bus scenarios.
>
> However the 8-bit atomics are only used for read-write ticket locks which
> are too slow in locking, the code should be ejected sometime in the future.
>  It looks like I can easily upgrade the 16-bit atomics to 32-bit atomics if
> I also use 64-bit atomics but they're not available everywhere.  Out of
> interest in playing with new integration features I'll see how long I can
> put up with the MASM before dumping it.  I'm guessing the limitations by the
> Windows API are from IA64 though when regarding alignment requirements.
>
> Bottom line is no one is paying for Win64 support so I'm not in a hurry.
>
> --
> Steve-o
>
>
> On 8 March 2011 08:48, Alex Forster <alex at alexforster.com> wrote:
>
>> Ah, is that the trunk version you were saying you got to build
>> successfully on x64?
>>
>>
>>
>> On Mar 6, 2011, at 11:08 PM, Steven McCoy <steven.mccoy at miru.hk> wrote:
>>
>> On 7 March 2011 01:31, Alex Forster < <alex at alexforster.com>
>> alex at alexforster.com> wrote:
>>
>>> Steven McCoy <steven.mccoy <at> <http://miru.hk>miru.hk> writes:
>>>
>>> > Clean builds under Win64.
>>> > ...
>>> > Improve spinlock performance with inline ticket based spinlock
>>> implementation.
>>>
>>> <http://www.google.com/search?q=__asm+keyword+not+supported+on+this+architecture>
>>> http://www.google.com/search?q=__asm+keyword+not+supported+on+this+architecture
>>>
>>> ticket.h is coughing up because Visual C++ doesn't support inline
>>> assembly when
>>> targeting 64-bit.
>>>
>>>
>> Oh that's nice.
>>
>>
>>>  <http://code.google.com/p/openpgm/source/diff>
>>> http://code.google.com/p/openpgm/source/diff?
>>>
>>> spec=svn1294&r=1294&format=side&path=/trunk/openpgm/pgm/include/impl/ticket.h
>>>
>>> This diff points out where the problem areas are-
>>>
>>> pgm_atomic_add8
>>> pgm_atomic_fetch_and_add8
>>> pgm_atomic_inc8
>>>
>>> pgm_atomic_add16
>>> pgm_atomic_fetch_and_add16
>>> pgm_atomic_inc16
>>>
>>>
>> It was a clean build before ticket locks :-)
>>
>> I've added some MASM64 to trunk to implement the assembler as functions
>> but I'm without 64-bit MSVC to test, I wouldn't say I"m overly confident on
>> the 64-bit assembler either.
>>
>> --
>> Steve-o
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110308/7106dd09/attachment.htm 


More information about the zeromq-dev mailing list