On Fri, Sep 17, 2021, Peter Zijlstra wrote: > On Thu, Sep 16, 2021 at 09:37:43PM +0000, Sean Christopherson wrote: > So I don't mind exporting __static_call_return0, but exporting a raw > static_call is much like exporting a function pointer :/ Ya, that part is quite gross. > > The unregister path would also need its own synchronize_rcu(). In general, I > > don't love duplicating the logic, but it's not the end of the world. > > > > Either way works for me. Paolo or Peter, do either of you have a preference? > > Can we de-feature kvm as a module and only have this PT functionality > when built-in? :-) I agree that many of the for-KVM exports are ugly, especially several of the perf exports, but I will fight tooth and nail to keep KVM-as-a-module. It is invaluable for development and testing, and in the not-too-distant future there is KVM-maintenance related functionality that we'd like to implement that relies on KVM being a module. I would be more than happy to help explore approaches that reduce the for-KVM exports, but I am strongly opposed to defeaturing KVM-as-a-module. I have a few nascent ideas for eliminating a handful of a random exports, but no clever ideas for eliminating perf's for-KVM exports.