On Tue, 2022-05-10 at 23:57 +0000, Song Liu wrote: > > So, if we come back to the same question: is this a bug (or a > suboptimal > behavior that worth fixing)? If so, we are open to any solution that > would also help PREEMPT and/or non-x86 arches. > Using the preempt notifiers during KLP transition should work equally well for PREEMPT and !PREEMPT. It also does not insert any additional code into the scheduler while there is no KLP transition going on. > Lastly, maybe a really naive question: does the following also helps > PREEMPT=y configurations? > > static void __sched notrace preempt_schedule_common(void) > { > + if (unlikely(klp_patch_pending(current))) > + klp_try_switch_task(current); > + > do { > While this would almost certainly speed up KLP transitions, it would also slow down schedule all the time, even while there is no KLP transition going on. That does not seem like a worthwhile tradeoff.