Recent posts - liblfds.org http://www.liblfds.org/forum/ Wed, 30 Jan 2019 23:41:08 +0000 esoTalk admin - ringbuffer, with "LMAX Disruptor" semantics http://www.liblfds.org/forum/index.php/post/9/ <p>Good evening.</p><p>I must apologise profusely for what must be the slowest reply I&#39;ve made in my life.</p><p>A number of other things have been on the go - I have to write a book and moving house *and* arranging a friend to come and stay for a couple of weeks - and I&#39;ve not checked the forum in a timely manner.</p><p>&gt; Liblfds has a ringbuffer implementation<br/>&gt; [snip]<br/>&gt; but its semantics is that of a queue at the reader&#39;s side</p><p>Yes. There can be many readers, but a single element can only be read by a single reader.</p><p>&gt; For our robotics and vision processing applications, we would prefer a different semantics, namely the one of the &quot;LMAX Disruptor&quot;</p><p>Do you mean *just* the ringbuffer from LMAX Disruptor, or the whole thing?</p><p>I&#39;ve had a look and found a document or two about their ringbuffer.</p><p>It appears to be the same design at the circular buffer used in the Linux kernel, but presumably modified to use atomic operations rather than only memory barriers (I looked at the source, but it was impenetrable at five minutes of examination).</p><p>That design is present in 7.1.1 in both forms.</p><p>The bounded, single producer, single consumer queue is this design using memory barriers only.</p><p>The bounded, many producer, many consumer queue is this design using atomic operations.</p><p>However, I have missed something here because the semantics remain queue-like for the reader.</p><p>Perhaps you&#39;re thinking of the LMAX DIsrupter as a whole, rather than just the ringbuffer?</p> Wed, 30 Jan 2019 23:41:08 +0000 http://www.liblfds.org/forum/index.php/post/9/ bruyninc - ringbuffer, with "LMAX Disruptor" semantics http://www.liblfds.org/forum/index.php/post/8/ <p>Liblfds has a ringbuffer implementation<br/> &lt;http://www.liblfds.org/mediawiki/index.php?title=r7.1.1:Ringbuffer&gt;<br/>but its semantics is that of a queue at the reader&#39;s side.</p><p>For our robotics and vision processing applications, we would prefer a different semantics,<br/>namely the one of the &quot;LMAX Disruptor&quot;<br/> &lt;http://lmax-exchange.github.io/disruptor/&gt;<br/> &lt;https://github.com/LMAX-Exchange/disruptor/wiki/Introduction&gt;</p><p>Is someone interested on discussing the design with us?<br/>Or maybe someone _has_ already some code that can be shared?</p><p>Would it be an acceptable addition to the project, to start with?</p><p>Best regards,</p><p>Herman Bruyninckx<br/>KU Leuven, Belgium</p> Fri, 11 Jan 2019 09:48:45 +0000 http://www.liblfds.org/forum/index.php/post/8/ admin - any plans for ARM64 ? http://www.liblfds.org/forum/index.php/post/6/ <p>Yes.</p><p>7.2.0 (next release) has ARM64. Supoprt was implemented over a year ago, I think - I have a PINE64 dev board, so I have hardware to test on, too.</p><p>I&#39;m currently working on the test and benchmark application - someone asked for a pre-release of some of the position-independent data structures (for use with shared memory, where the virtual memory ranges differ between processes) and I&#39;m adding the ability to spawn processes rather than just threads.</p><p>I&#39;m currently working, so I don&#39;t have much time. I&#39;ll be finished in eight weeks.</p><p>If you need ARM64 like *now*, I can drop you a pre-release now - drop me an email at admin at liblfds dot org.</p> Mon, 04 Jun 2018 20:01:34 +0000 http://www.liblfds.org/forum/index.php/post/6/ fsynth - any plans for ARM64 ? http://www.liblfds.org/forum/index.php/post/5/ <p>Hello,</p><p>just wondering, is there any plans for ARM64 support ?</p><p>Tried to port a software onto the Nano Pi NEO 2 today (without checking if the arch. was supported), all was compiled (GCC 5.4) but got a Segmentation fault at launch with gdb saying :</p><pre>0x000000000040fcfc in lfds711_freelist_push (fs=0x427000 &lt;rs&gt;, fe=0x45c510, psts=0x0) at ../../src/lfds711_freelist/lfds711_freelist_push.c:68 68 LFDS711_PAL_ATOMIC_DWCAS( fs-&gt;top, original_top, new_top, LFDS711_MISC_CAS_STRENGTH_WEAK, result );</pre><p>What is needed to port libflds to ARM64 ? … ok found the porting abstraction layer file which seem to be the one that need to be modified</p><p>Thank you for the great work on this library btw.</p> Thu, 31 May 2018 00:28:31 +0000 http://www.liblfds.org/forum/index.php/post/5/ admin - Welcome to the sixth liblfds forum http://www.liblfds.org/forum/index.php/post/4/ <p>Welcome to the forum.</p><p>There have been over the years changes in the forum software and it has never been possible to export conversations from one forum to another.</p><p>Account registration requires a captcha to be completed and then a confirmation URL is sent via email.</p> Mon, 26 Mar 2018 20:12:33 +0000 http://www.liblfds.org/forum/index.php/post/4/