[zeromq-dev] s390x support

Steven McCoy steven.mccoy at miru.hk
Sat Jan 8 04:35:16 CET 2011

On 8 January 2011 04:28, Neale Ferguson <neale at sinenomine.net> wrote:

> Hi,
>  I have built 2.1.0 under Linux on System z (aka s390x). I made a couple of
> changes to enable PGM support:
> +#elif defined(__s390__)
> +    uint64_t tsc;
> +    asm("\tstck\t%0\n" : "=Q" (tsc) : : "cc");
> +    return(tsc);

Nice, is an inline instruction really needed for System z boxes when
compared with gettimeofday or clock_gettime?

There are three properties investigated for timing sources, first is the
clock resolution, i.e. 1ms clocks are preferred to 16ms counterparts; second
is stability, whether the source is monotonic, whether subsequent reads will
jump backwards, and constant, will the frequency of updates vary over time,
i.e. power states; thirdly is the time cost of the read, picoseconds to
nanoseconds, is it a simple counter read like RDTSC, an external chip read
like HPET, or a complicated software routine like gettimeofday on x86

For example, on SPARC gettimeofday is very reliable and has a high
resolution so it is preferred to use that rather than rd %%tick which libc
can still use to keep the call in user-space.

ØMQ and PGM start to diverge at high resolutions, ØMQ preferring the lower
cost implementation, whilst PGM preferring stability.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110108/a794420c/attachment.htm>

More information about the zeromq-dev mailing list