[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-30 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-458851476
 
 
   This PR doesn't change anything specific for being 32/64 bit, but like any 
changes on the native layer, having cross-compilation would help (me or anyone) 
to provide the 32 bit binaries without pain.
   IMHO it should be better to have the cross-compilation PR of Otavio merged 
first and I would use it to cross-compile this PR, but I prefer to have them 
separate if, for ANY reasons, one of them will need to be reverted, they 
weren't tied up together...
   
   
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-29 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-458845348
 
 
   @michaelandrepearce 
   > this is great stuff!!! looking forward to it.
   
   The commit here is just mine :P
   I've removed the part of Otavio for the resons below..
   @clebertsuconic @michaelandrepearce 
   I need your advice re this one indeed: I think that the changes of Otavio to 
enable cross-compilation and improve (a lot!!!) the compilation process deserve 
its own PR, wdyt?
   This commit is a change in the mechanics of how we use libAIO and I'm not 
sure is ok to tied them together: the changes of Otavio are useful per se...
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-29 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-458487385
 
 
   @michaelandrepearce @clebertsuconic I have verified that no HW fences are 
needed so now worries about 32/64 bit :)
   I've put some more comments and I'm waiting @orpiske to provide the missing 
bits to allow cross-compilation :+1: 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-28 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-458418530
 
 
   @michaelandrepearce @clebertsuconic 
   Today I will talk with some of the kernel guys that has written libAIO: I've 
taken a deep look to 
https://elixir.bootlin.com/linux/latest/source/fs/aio.c#L1148 and seems that 
for x86 I could avoid any hardware barriers.
   `lfence,sfence` are hw barriers needed just when used among non-temporal 
stores ie that won't use the caches, while temporal x86 stores are guaranteed 
to not being reordered by the processor.
   I need to cross-compile the 32 bit version accordly, many thanks to super- 
@orpiske  for his help!


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-26 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-457865466
 
 
   @michaelandrepearce 
   > We will need 32 bit support. I remember there being someone in the 
community on a user thread being on 32 for valid reason.
   
   Yep. that's why I've summoned @orpiske :) I will probablu need some help 
with CMake (that I'm not that use to it) in order to provide 2 different 
implementations for the barriers (x86 and x86_64): I'm used to write/read 
assembly but really bad to use build tools :P
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-26 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-457834119
 
 
   On our CI (that's using a x86_64) it has passed without any issue :+1: 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-25 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-457811530
 
 
   @michaelandrepearce 
   > whats the compatibility of using the c++ c11 features
   
   I don't know , that' s why I've implemented the barriers by myself, instead 
of using the ones provided by C11. Re the barriers I've implemented they work 
for any x86_64 platform (the version of Linux won't make any difference, 
because I'm not using OS features, but just arch-specific instructions). 
   I could provide an implementation of x86 (32 bit) and we won't need any 
support (+ eventual incompatibilities) of C11.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-25 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-457728883
 
 
   About the memory barriers? Are the standard implementation used on the c++11 
memory model and I have asked a colleague of mine that work on the Linux 
kernel, specifically on libAIO ie Paolo Bonzini on 
https://github.com/redhat-cip/fio/blob/master/engines/libaio.c


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-25 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-457643382
 
 
   It should be a nice step for a future optimization that would allow to use 1 
core just to retrieve IO events in a busy loop (with some idle strategy, if 
necessary) to reduce dramatically latencies: DPDK uses a similar approach to 
improve dramatically networking on user space.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events

2019-01-25 Thread GitBox
franz1981 commented on issue #2523: ARTEMIS-1977 ASYNCIO can reduce sys-calls 
to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#issuecomment-457639282
 
 
   @michaelandrepearce I suppose this one could be of some interest to you :)
   @orpiske Please mate I need some help to compile this one for 32 bit, I'm 
not the good to configure cross-compilation on my box and I haven't an old box 
to do it...


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services