Re: [zeromq-dev] ZeroMQ 4.2 release, planning

2016-10-31 Thread Luca Boccassi
Cool!

I can take care of it if you like. Tentative plan:

Tomorrow push an RC1 for libzmq, then the pr to CZMQ to retire v2 APIs,
then the RC1 for CZMQ.

If it's all good then a couple days later the finals. I would really like
to make it for the debian 9 transition freeze which is Saturday.

On Oct 31, 2016 22:23, "Doron Somech"  wrote:

> Sorry, yes, lets do it :)
>
> On Oct 31, 2016 11:44 PM, "Luca Boccassi"  wrote:
>
>> Ping :-)
>>
>> On Oct 28, 2016 18:48, "Luca Boccassi"  wrote:
>>
>>> I have sent a solution for the alignment problem that solves the sigbus
>>> problem without breaking ABI compat (plus follow-up for VC++ - sorry
>>> Windows guys https://github.com/zeromq/libzmq/pull/2179 ).
>>>
>>> I tested the alignment and sigbus problem on x86_64 by enabling
>>> alignment check with:
>>>
>>> __asm__("pushf\norl $0x4,(%rsp)\npopf");
>>>
>>> All was fine.
>>>
>>> I ran tests built from the zeromq4-1 repository against a shared lib
>>> from the head of libzmq repo, and they all run fine minus the
>>> ZMQ_REQ_CORRELATE one but that option was borken anyway.
>>>
>>> This allows us to do a release now, and then when we are ready we can do
>>> the ABI breakage, without blocking 4.2. Which is nice since it means it
>>> might make it for Debian 9!
>>>
>>> So, Doron et al, shall we do the bump this weekend?
>>>
>>> On Thu, 2016-10-20 at 17:12 -0500, Thomas Rodgers wrote:
>>> > I will have some time most likely the week of Nov6 (off for a week of
>>> C++
>>> > Committee 'fun') to test different message size alternatives. I'll
>>> follow
>>> > up with my results here for consideration the next time we are
>>> inclined to
>>> > break the ABI compatibility :)
>>> >
>>> > On Sunday, October 16, 2016, Brian Knox 
>>> wrote:
>>> >
>>> > > A new stable version would definitely help me in my quest to get
>>> ZeroMQ
>>> > > support enabled by default in rsyslog in distros.
>>> > >
>>> > > On Sun, Oct 16, 2016 at 2:40 PM Doron Somech 
>>> wrote:
>>> > >
>>> > >> I say lets bump.
>>> > >>
>>> > >> On Oct 15, 2016 20:32, "Luca Boccassi" 
>>> wrote:
>>> > >>
>>> > >>> As Thomas said, false sharing would be a real issue with 96.
>>> > >>>
>>> > >>> So given a release is long due, at this point I'd say to drop this
>>> for
>>> > >>> the moment.
>>> > >>>
>>> > >>> What do we do for the change to union for zmq_msg_t? Bump ABI
>>> version or
>>> > >>> not?
>>> > >>>
>>> > >>> On Thu, 2016-10-06 at 09:53 +0300, Doron Somech wrote:
>>> > >>> > No new socket type, I worked at the time on binary message type,
>>> might
>>> > >>> > complete it sometime, but it is not urgent.
>>> > >>> >
>>> > >>> > If there is a lot of performance penalty we can give it up, I
>>> will
>>> > >>> > find another solution for the Radio-Dish.
>>> > >>> >
>>> > >>> > What about 96 bytes? same penalty?
>>> > >>> >
>>> > >>> > Regarding the binding, I'm not sure.
>>> > >>> >
>>> > >>> > On Sat, Oct 1, 2016 at 9:14 PM, Luca Boccassi <
>>> luca.bocca...@gmail.com>
>>> > >>> wrote:
>>> > >>> > > On Tue, 2016-09-27 at 09:41 +0300, Doron Somech wrote:
>>> > >>> > >> Sorry for the late response, increasing the msg_t structure
>>> will be
>>> > >>> > >> great, however this will require changing a lot of binding.
>>> > >>> > >
>>> > >>> > > I think I remember we need it for the new socket types, is that
>>> > >>> correct?
>>> > >>> > >
>>> > >>> > > There is a large performance penalty (intuitively due to not
>>> fitting
>>> > >>> > > into a single cache line anymore, but haven't ran
>>> perf/cachegrind),
>>> > >>> and
>>> > >>> > > the throughput with vsm type messages goes down by 4% (min)
>>> and 20%
>>> > >>> > > (max) for TCP, and 36% (min) 38 (max) for inproc, which is
>>> quite a
>>> > >>> lot,
>>> > >>> > > so we need to be sure it's worth it.
>>> > >>> > >
>>> > >>> > > Regarding the bindings, after a quick search on the Github
>>> org, I
>>> > >>> could
>>> > >>> > > only see:
>>> > >>> > >
>>> > >>> > > https://github.com/zeromq/lzmq/blob/master/src/lua/lzmq/
>>> > >>> ffi/api.lua#L144
>>> > >>> > > https://github.com/zeromq/clrzmq4/blob/master/lib/zmq.cs#L28
>>> > >>> > > https://github.com/zeromq/pyczmq/blob/master/pyczmq/zmq.py#L
>>> 177
>>> > >>> > >
>>> > >>> > > Other bindings just import zmq.h. Did I miss any?
>>> > >>> > >
>>> > >>> > >> Sorry for disappearing, baby and full time job is a lot :-),
>>> > >>> hopefully
>>> > >>> > >> I'm back...
>>> > >>> > >
>>> > >>> > > No worries, perfectly understandable :-)
>>> > >>> > >
>>> > >>> > >> On Mon, Aug 29, 2016 at 6:46 PM, Luca Boccassi <
>>> > >>> luca.bocca...@gmail.com> wrote:
>>> > >>> > >> > Sorry, I meant if we go with (1), not (2), we might bump
>>> the size
>>> > >>> as
>>> > >>> > >> > well, since we are already doing another ABI-breaking
>>> change.
>>> > >>> > >> >
>>> > >>> > >> > I agree on the solution as well.
>>> > >>> > >> >
>>> > >>> > >> > On Mon, 2016-08-29 at 17:12 +0200, Pieter Hintjens wrote:
>>> > >>> > >> >> I'm confused between the (1) and (2) choices, and can't
>>

Re: [zeromq-dev] ZeroMQ 4.2 release, planning

2016-10-31 Thread Doron Somech
Sorry, yes, lets do it :)

On Oct 31, 2016 11:44 PM, "Luca Boccassi"  wrote:

> Ping :-)
>
> On Oct 28, 2016 18:48, "Luca Boccassi"  wrote:
>
>> I have sent a solution for the alignment problem that solves the sigbus
>> problem without breaking ABI compat (plus follow-up for VC++ - sorry
>> Windows guys https://github.com/zeromq/libzmq/pull/2179 ).
>>
>> I tested the alignment and sigbus problem on x86_64 by enabling
>> alignment check with:
>>
>> __asm__("pushf\norl $0x4,(%rsp)\npopf");
>>
>> All was fine.
>>
>> I ran tests built from the zeromq4-1 repository against a shared lib
>> from the head of libzmq repo, and they all run fine minus the
>> ZMQ_REQ_CORRELATE one but that option was borken anyway.
>>
>> This allows us to do a release now, and then when we are ready we can do
>> the ABI breakage, without blocking 4.2. Which is nice since it means it
>> might make it for Debian 9!
>>
>> So, Doron et al, shall we do the bump this weekend?
>>
>> On Thu, 2016-10-20 at 17:12 -0500, Thomas Rodgers wrote:
>> > I will have some time most likely the week of Nov6 (off for a week of
>> C++
>> > Committee 'fun') to test different message size alternatives. I'll
>> follow
>> > up with my results here for consideration the next time we are inclined
>> to
>> > break the ABI compatibility :)
>> >
>> > On Sunday, October 16, 2016, Brian Knox  wrote:
>> >
>> > > A new stable version would definitely help me in my quest to get
>> ZeroMQ
>> > > support enabled by default in rsyslog in distros.
>> > >
>> > > On Sun, Oct 16, 2016 at 2:40 PM Doron Somech 
>> wrote:
>> > >
>> > >> I say lets bump.
>> > >>
>> > >> On Oct 15, 2016 20:32, "Luca Boccassi" 
>> wrote:
>> > >>
>> > >>> As Thomas said, false sharing would be a real issue with 96.
>> > >>>
>> > >>> So given a release is long due, at this point I'd say to drop this
>> for
>> > >>> the moment.
>> > >>>
>> > >>> What do we do for the change to union for zmq_msg_t? Bump ABI
>> version or
>> > >>> not?
>> > >>>
>> > >>> On Thu, 2016-10-06 at 09:53 +0300, Doron Somech wrote:
>> > >>> > No new socket type, I worked at the time on binary message type,
>> might
>> > >>> > complete it sometime, but it is not urgent.
>> > >>> >
>> > >>> > If there is a lot of performance penalty we can give it up, I will
>> > >>> > find another solution for the Radio-Dish.
>> > >>> >
>> > >>> > What about 96 bytes? same penalty?
>> > >>> >
>> > >>> > Regarding the binding, I'm not sure.
>> > >>> >
>> > >>> > On Sat, Oct 1, 2016 at 9:14 PM, Luca Boccassi <
>> luca.bocca...@gmail.com>
>> > >>> wrote:
>> > >>> > > On Tue, 2016-09-27 at 09:41 +0300, Doron Somech wrote:
>> > >>> > >> Sorry for the late response, increasing the msg_t structure
>> will be
>> > >>> > >> great, however this will require changing a lot of binding.
>> > >>> > >
>> > >>> > > I think I remember we need it for the new socket types, is that
>> > >>> correct?
>> > >>> > >
>> > >>> > > There is a large performance penalty (intuitively due to not
>> fitting
>> > >>> > > into a single cache line anymore, but haven't ran
>> perf/cachegrind),
>> > >>> and
>> > >>> > > the throughput with vsm type messages goes down by 4% (min) and
>> 20%
>> > >>> > > (max) for TCP, and 36% (min) 38 (max) for inproc, which is
>> quite a
>> > >>> lot,
>> > >>> > > so we need to be sure it's worth it.
>> > >>> > >
>> > >>> > > Regarding the bindings, after a quick search on the Github org,
>> I
>> > >>> could
>> > >>> > > only see:
>> > >>> > >
>> > >>> > > https://github.com/zeromq/lzmq/blob/master/src/lua/lzmq/
>> > >>> ffi/api.lua#L144
>> > >>> > > https://github.com/zeromq/clrzmq4/blob/master/lib/zmq.cs#L28
>> > >>> > > https://github.com/zeromq/pyczmq/blob/master/pyczmq/zmq.py#L177
>> > >>> > >
>> > >>> > > Other bindings just import zmq.h. Did I miss any?
>> > >>> > >
>> > >>> > >> Sorry for disappearing, baby and full time job is a lot :-),
>> > >>> hopefully
>> > >>> > >> I'm back...
>> > >>> > >
>> > >>> > > No worries, perfectly understandable :-)
>> > >>> > >
>> > >>> > >> On Mon, Aug 29, 2016 at 6:46 PM, Luca Boccassi <
>> > >>> luca.bocca...@gmail.com> wrote:
>> > >>> > >> > Sorry, I meant if we go with (1), not (2), we might bump the
>> size
>> > >>> as
>> > >>> > >> > well, since we are already doing another ABI-breaking change.
>> > >>> > >> >
>> > >>> > >> > I agree on the solution as well.
>> > >>> > >> >
>> > >>> > >> > On Mon, 2016-08-29 at 17:12 +0200, Pieter Hintjens wrote:
>> > >>> > >> >> I'm confused between the (1) and (2) choices, and can't see
>> where
>> > >>> > >> >> bumping the message size fits.
>> > >>> > >> >>
>> > >>> > >> >> Nonetheless, I think bumping the size, fixing the alignment
>> > >>> issues,
>> > >>> > >> >> and bumping the ABI version is the best solution here.
>> > >>> > >> >>
>> > >>> > >> >> On Fri, Aug 26, 2016 at 12:33 PM, Luca Boccassi <
>> > >>> luca.bocca...@gmail.com> wrote:
>> > >>> > >> >> > I've given some more thoughts and testing to the alignment
>> > >>> issue. I can
>> > >>> > >> >> > r

Re: [zeromq-dev] ZeroMQ 4.2 release, planning

2016-10-31 Thread Luca Boccassi
Ping :-)

On Oct 28, 2016 18:48, "Luca Boccassi"  wrote:

> I have sent a solution for the alignment problem that solves the sigbus
> problem without breaking ABI compat (plus follow-up for VC++ - sorry
> Windows guys https://github.com/zeromq/libzmq/pull/2179 ).
>
> I tested the alignment and sigbus problem on x86_64 by enabling
> alignment check with:
>
> __asm__("pushf\norl $0x4,(%rsp)\npopf");
>
> All was fine.
>
> I ran tests built from the zeromq4-1 repository against a shared lib
> from the head of libzmq repo, and they all run fine minus the
> ZMQ_REQ_CORRELATE one but that option was borken anyway.
>
> This allows us to do a release now, and then when we are ready we can do
> the ABI breakage, without blocking 4.2. Which is nice since it means it
> might make it for Debian 9!
>
> So, Doron et al, shall we do the bump this weekend?
>
> On Thu, 2016-10-20 at 17:12 -0500, Thomas Rodgers wrote:
> > I will have some time most likely the week of Nov6 (off for a week of C++
> > Committee 'fun') to test different message size alternatives. I'll follow
> > up with my results here for consideration the next time we are inclined
> to
> > break the ABI compatibility :)
> >
> > On Sunday, October 16, 2016, Brian Knox  wrote:
> >
> > > A new stable version would definitely help me in my quest to get ZeroMQ
> > > support enabled by default in rsyslog in distros.
> > >
> > > On Sun, Oct 16, 2016 at 2:40 PM Doron Somech 
> wrote:
> > >
> > >> I say lets bump.
> > >>
> > >> On Oct 15, 2016 20:32, "Luca Boccassi" 
> wrote:
> > >>
> > >>> As Thomas said, false sharing would be a real issue with 96.
> > >>>
> > >>> So given a release is long due, at this point I'd say to drop this
> for
> > >>> the moment.
> > >>>
> > >>> What do we do for the change to union for zmq_msg_t? Bump ABI
> version or
> > >>> not?
> > >>>
> > >>> On Thu, 2016-10-06 at 09:53 +0300, Doron Somech wrote:
> > >>> > No new socket type, I worked at the time on binary message type,
> might
> > >>> > complete it sometime, but it is not urgent.
> > >>> >
> > >>> > If there is a lot of performance penalty we can give it up, I will
> > >>> > find another solution for the Radio-Dish.
> > >>> >
> > >>> > What about 96 bytes? same penalty?
> > >>> >
> > >>> > Regarding the binding, I'm not sure.
> > >>> >
> > >>> > On Sat, Oct 1, 2016 at 9:14 PM, Luca Boccassi <
> luca.bocca...@gmail.com>
> > >>> wrote:
> > >>> > > On Tue, 2016-09-27 at 09:41 +0300, Doron Somech wrote:
> > >>> > >> Sorry for the late response, increasing the msg_t structure
> will be
> > >>> > >> great, however this will require changing a lot of binding.
> > >>> > >
> > >>> > > I think I remember we need it for the new socket types, is that
> > >>> correct?
> > >>> > >
> > >>> > > There is a large performance penalty (intuitively due to not
> fitting
> > >>> > > into a single cache line anymore, but haven't ran
> perf/cachegrind),
> > >>> and
> > >>> > > the throughput with vsm type messages goes down by 4% (min) and
> 20%
> > >>> > > (max) for TCP, and 36% (min) 38 (max) for inproc, which is quite
> a
> > >>> lot,
> > >>> > > so we need to be sure it's worth it.
> > >>> > >
> > >>> > > Regarding the bindings, after a quick search on the Github org, I
> > >>> could
> > >>> > > only see:
> > >>> > >
> > >>> > > https://github.com/zeromq/lzmq/blob/master/src/lua/lzmq/
> > >>> ffi/api.lua#L144
> > >>> > > https://github.com/zeromq/clrzmq4/blob/master/lib/zmq.cs#L28
> > >>> > > https://github.com/zeromq/pyczmq/blob/master/pyczmq/zmq.py#L177
> > >>> > >
> > >>> > > Other bindings just import zmq.h. Did I miss any?
> > >>> > >
> > >>> > >> Sorry for disappearing, baby and full time job is a lot :-),
> > >>> hopefully
> > >>> > >> I'm back...
> > >>> > >
> > >>> > > No worries, perfectly understandable :-)
> > >>> > >
> > >>> > >> On Mon, Aug 29, 2016 at 6:46 PM, Luca Boccassi <
> > >>> luca.bocca...@gmail.com> wrote:
> > >>> > >> > Sorry, I meant if we go with (1), not (2), we might bump the
> size
> > >>> as
> > >>> > >> > well, since we are already doing another ABI-breaking change.
> > >>> > >> >
> > >>> > >> > I agree on the solution as well.
> > >>> > >> >
> > >>> > >> > On Mon, 2016-08-29 at 17:12 +0200, Pieter Hintjens wrote:
> > >>> > >> >> I'm confused between the (1) and (2) choices, and can't see
> where
> > >>> > >> >> bumping the message size fits.
> > >>> > >> >>
> > >>> > >> >> Nonetheless, I think bumping the size, fixing the alignment
> > >>> issues,
> > >>> > >> >> and bumping the ABI version is the best solution here.
> > >>> > >> >>
> > >>> > >> >> On Fri, Aug 26, 2016 at 12:33 PM, Luca Boccassi <
> > >>> luca.bocca...@gmail.com> wrote:
> > >>> > >> >> > I've given some more thoughts and testing to the alignment
> > >>> issue. I can
> > >>> > >> >> > reproduce the problem by enabling alignment checks on x86
> too.
> > >>> > >> >> >
> > >>> > >> >> > But most importantly, I think we cannot get away from
> bumping
> > >>> the ABI
> > >>> > >> >> > with this fix, however w