DragonFly kernel List (threaded) for 2006-11
Re: Lockless algorithms [was Re: splxxx replacements?]
Antonio Vargas <windenntw@xxxxxxxxx> wrote:
> On 11/18/06, talon@xxxxxxxxxxxxxxxx <talon@xxxxxxxxxxxxxxxx> wrote:
>> Bill Huey (hui) <billh@xxxxxxxxxxxxxxxxx> wrote:
>> > There are patent issues and the GPL license, but this is just too powerful an
>> > algorithm to ignore. In many way, this brings out the ultimate in what shared
>> > memory system can do.
>> Without entering such troll subjects, the patent issue completely kills using
>> RCU outside of Linux. RCU is patented IBM with special licence to use in Linux
>> only, as far as i remember. Due to the history of IBM it would be suicidal
> Linux-only doesn't exist per-se, since linux is GPL and any GPL code
> can be remixed without problems. So, the question would be if it's ok
> to remix GPL with DFBSD license (which probably doesn't)
Indeed you are right, RCU patent has been licensed by IBM to use in GPL code
only. Hence any GPL OS can use it, but the BSDs certainly cannot, and no more
Solaris. In practice, only Linux can make use of it, which was obviously IBM
intent. Note this is a patent question, not a copyright question so you
cannot work around it by rewriting it. To check that, i have googled a little
bit and found some comments by proeminent Linux developers who were not very
convinced of the performance gain associated with RCU. Of course the reads are
lockless, but from time to time you have to update, and the penality is heavy.
Once more, Solaris succeeds in having very good SMP scalability and
excellent threading behavior without using any of these tricks.
Fine grained locking needs a lot of polishing to work fine, but when
everything is in good shape, it works.