LWN: Comments on "The RCU API, 2019 edition" https://lwn.net/Articles/777036/ This is a special feed containing comments posted to the individual LWN article titled "The RCU API, 2019 edition". en-us Wed, 22 Oct 2025 03:42:30 +0000 Wed, 22 Oct 2025 03:42:30 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net The RCU API, 2019 edition https://lwn.net/Articles/778464/ https://lwn.net/Articles/778464/ PaulMcKenney <div class="FormattedComment"> Indeed, the policies of the Apache Software Foundation are not under my control. :-)<br> <p> There is a C++ implementation of RCU licensed under Apache v2 here: <a href="https://github.com/facebook/folly/blob/master/folly/synchronization/Rcu.h">https://github.com/facebook/folly/blob/master/folly/synch...</a>.<br> <p> In addition, I believe that Samy Al Bahra has an RCU implementation based on epochs in his concurrency library, and I believe that it uses a non-copyleft license.<br> <p> There are quite likely other implementations out there.<br> <p> I have not done a detailed evaluation of either of these code bases, nor do I plan to. But it should not be hard to run them through an appropriate evaluation. One approach would be to create something like rcutorture at user level, perhaps guided by Linux-kernel RCU or by the test suite that is part of userspace RCU. Or, if licensing is still a problem even for testing, you can always create your own from scratch.<br> </div> Tue, 05 Feb 2019 08:09:27 +0000 The RCU API, 2019 edition https://lwn.net/Articles/778369/ https://lwn.net/Articles/778369/ cornelio <div class="FormattedComment"> I am not a lawyer either but the license has consequences.<br> <p> Some organizations, including the Apache Software Foundation, ban both GPL and LGPL so unless a new independent implementation appears I can't really even look at RCU.<br> <p> (Not a complaint, and surely not your fault.)<br> </div> Mon, 04 Feb 2019 14:56:23 +0000 The RCU API, 2019 edition https://lwn.net/Articles/777691/ https://lwn.net/Articles/777691/ PaulMcKenney <div class="FormattedComment"> I suggest checking the dates on the patents themselves -- they are rather well known. And dates that took place during the mid-1990s are quite some time in the past. But that is a legal question, and I am not a lawyer.<br> <p> In addition, please note that non-copyleft projects always have the option of using the userspace RCU library, which is LGPL, and thus can be linked to even proprietary code. Longer term, there is also work ongoing to add RCU to the C++ language (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1122r2.pdf">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p...</a>), which would eventually make things easier for projects that are C or C++ or that can easily interface to C or C++.<br> </div> Mon, 28 Jan 2019 16:35:33 +0000 The RCU API, 2019 edition https://lwn.net/Articles/777519/ https://lwn.net/Articles/777519/ cornelio <div class="FormattedComment"> Have the patents expired yet? It's rather unusable for non-copyleft projects until it does.<br> </div> Fri, 25 Jan 2019 05:04:14 +0000 The RCU API, 2019 edition https://lwn.net/Articles/777465/ https://lwn.net/Articles/777465/ PaulMcKenney <div class="FormattedComment"> Hmmm... You are right that there is a rough relation between MVCC and RCU, but there is a much closer relation between MVCC and things like read-log update (RLU, see <a href="https://lwn.net/Articles/667593/">https://lwn.net/Articles/667593/</a> and its URLs). One key distinction is that both MVCC and RLU provide much stronger consistency guarantees to readers than does RCU. Of course, nothing comes for free, and so MVCC and RLU readers are quite a bit more expensive than are RCU readers.<br> <p> But I will nevertheless give some thought to calling out the connection between MVCC and RCU, rough though it might be. No guarantees, of course!<br> </div> Fri, 25 Jan 2019 01:10:39 +0000 The RCU API, 2019 edition https://lwn.net/Articles/777464/ https://lwn.net/Articles/777464/ PaulMcKenney <div class="FormattedComment"> Glad you like it!<br> </div> Thu, 24 Jan 2019 15:06:02 +0000 The RCU API, 2019 edition https://lwn.net/Articles/777436/ https://lwn.net/Articles/777436/ marcH <div class="FormattedComment"> Nit: I wish RCU docs and articles would sometimes mention prior art: <a href="https://en.wikipedia.org/wiki/Multiversion_concurrency_control">https://en.wikipedia.org/wiki/Multiversion_concurrency_co...</a><br> <p> Maybe they don't to avoid patent/legal issues?<br> </div> Thu, 24 Jan 2019 04:59:58 +0000 The RCU API, 2019 edition https://lwn.net/Articles/777431/ https://lwn.net/Articles/777431/ unixbhaskar <div class="FormattedComment"> Good one, Paul. Enjoyed very much! thanks, a bunch.<br> </div> Thu, 24 Jan 2019 01:55:05 +0000