Comment by Dylan16807
6 years ago
But from what I can see, marking the "save SIMD registers" function as GPL is a blatant lie by a kernel developer that wanted to spite certain modules.
Saving and restoring registers is an astoundingly generic function. If you list all the kernel exports and sort by how much they make your work derivative, it should be near the very bottom.
You are not supposed to use FP/SSE in kernel mode.
It was always frowned upon:
> In other words: it's still very much a special case, and if the question was "can I just use FP in the kernel" then the answer is still a resounding NO, since other architectures may not support it AT ALL.
> Linus Torvalds, 2003
and these specific functions, that were marked as GPL were already deprecated for well over a decade.
> You are not supposed to use FP/SSE in kernel mode.
> It was always frowned upon
Whether it's frowned upon is a completely different issue from whether it intertwines your data so deeply with the kernel that it makes your code a derivative work subject to the GPL license. Which it doesn't.
> if the question was "can I just use FP in the kernel" then the answer is still a resounding NO, since other architectures may not support it AT ALL.
It's not actually using floating point, it's using faster instructions for integer math, and it has a perfectly viable fallback for architectures that don't have those instructions. But why use the slower version when there's no real reason to?
> and these specific functions, that were marked as GPL were already deprecated for well over a decade.
But the GPL export is still there, isn't it? It's not that functionality is being removed, it's that functionality is being shifted to only have a GPL export with no license-based justification for doing so.
So what meets the criteria of being a "special case" and what doesn't? One of the examples that Linus gives is RAID checksumming. How come RAID checksumming is a special case but ZFS checksumming isn't? I don't think it has anything to do with the nature of the usage, the only problem is that the user is ZFS.
RAID checksuming is in the kernel, and when Linus says jump, the RAID folks ask back how high.
He is not going to beg people outside kernel, whether he is allowed to change something that may break their module. On the contrary, they must live with any breackage that is thrown at them.
Again, that symbol was deprecated for well over a decade. How long does it take to be allowed to remove it?
1 reply →