> On May 14, 2019, at 8:36 AM, Alexandre Chartre <alexandre.chartre@xxxxxxxxxx> wrote: > > >> On 5/14/19 9:21 AM, Peter Zijlstra wrote: >>> On Mon, May 13, 2019 at 07:02:30PM -0700, Andy Lutomirski wrote: >>> This sounds like a great use case for static_call(). PeterZ, do you >>> suppose we could wire up static_call() with the module infrastructure >>> to make it easy to do "static_call to such-and-such GPL module symbol >>> if that symbol is in a loaded module, else nop"? >> You're basically asking it to do dynamic linking. And I suppose that is >> technically possible. >> However, I'm really starting to think kvm (or at least these parts of it >> that want to play these games) had better not be a module anymore. > > Maybe we can use an atomic notifier (e.g. page_fault_notifier)? > > IMO that’s worse. I want to be able to read do_page_fault() and understand what happens and in what order. Having do_page_fault run with the wrong CR3 is so fundamental to its operation that it needs to be very obvious what’s happening.