On 14 Jul 2010, at 12:25 , Jean-Yves Migeon wrote: > On 14.07.2010 18:26, Dennis Ferguson wrote: >> >> >> I didn't know there was a name for that but, yes, that's how it >> works. When something is removed from the structure the memory >> allocator needs to hang on to the now-detached memory and keep >> it unchanged until it can prove that all lookups which might have >> started before the change have finished. [...] > IIRC, you cannot implement RCU in non GPL software (unless IBM gives > approval for it).
While, to be clear, I think I can implement anything I want since I'm neither a US nor an EU resident, I think the issue the patents address (now that I've become aware of them) has nothing to do with the data structure itself (the data structure does derive from one which is independently patented, but with a patent owner who I know won't be suing). They instead deal with what I called the memory allocator's problem above, that is what method do you use to prove that concurrent accesses that started before the change have finished. There are a lot of ways to skin that cat besides the method Linux uses, and the patents related to that: if something else can't be independently invented the method described by US patent 4,809,168 looks workable to me, and that one is expired. In any case, let's not call it RCU so no one can confuse it with anything that is patented. If and when the time comes to think about using this for something, an appropriate method for doing this can be chosen to ensure that no one gets sued. Dennis Ferguson
