Re: [PATCH V2] LoongArch: Provide kernel fpu functions

From: WANG Xuerui
Date: Sat Mar 11 2023 - 03:11:01 EST


On 3/10/23 00:45, Christoph Hellwig wrote:
NAK, this needs to be an EXPORT_SYMBOL_GPL.

Also no way we're going to merge this without an actual user.

Okay so I sat down for some Saturday afternoon archaeology, and this is indeed much hairier than I originally thought...

Basically the same conversation has happened back in 2019 [1][2][3], mainly over the breakage it caused for zfs (obviously non-GPL and out-of-tree, that apparently made people automatically ignore it), while the introducing commit d63e79b114c02 ("x86/fpu: Uninline kernel_fpu_begin()/end()") went in unnoticed at that time [4]. It's clear that my opinion fell under the same camp as Andy and Paolo ("exporting as GPL" means "any usage of this symbol implies the module is in fact derived work"), but the others disagreed ("in practice we don't care if it has no in-kernel users, and even if it does it would have to be GPL anyway", IIUC).

For now I've only been tinkering with Navi GPUs on loongarch, and haven't got to try openzfs yet, but I surely don't want to start the debate all over again, and making the loongarch FPU helpers GPL-only works for me. However there's probably another question that Ruoyao pointed out: do we want to mark the neon/altivec/s390x helpers GPL-only right away? IMO this particular feature is not inherently arch-specific (the same would have to happen for every arch with optionally enabled extra state and instructions, not limited to FPU actually) so availability of such feature should preferably be made symmetric over arches.

Given the topic's sensitive nature I'd want to hear from more people before deciding to (not) write the patches; thanks in advance.

[1]: https://lore.kernel.org/all/761345df6285930339aced868ebf8ec459091383.1556807897.git.luto@xxxxxxxxxx/
[2]: https://lore.kernel.org/all/20190522044204.24207-1-cyphar@xxxxxxxxxx/
[3]: https://lore.kernel.org/all/CAB9dFdsZb-sZixeOzrt8F50h1pnUK2W2Cxx8+xjhgd0=6xs7iw@xxxxxxxxxxxxxx/T/#u
[4]: https://lore.kernel.org/all/1430848300-27877-51-git-send-email-mingo@xxxxxxxxxx/

--
WANG "xen0n" Xuerui

Linux/LoongArch mailing list: https://lore.kernel.org/loongarch/