Kpatch is a kernel livepatching mechanism, which can replace kernel function on-line. Current kpatch uses stop_machine to ensure no thread is running on the old function and to atomic switching.
However, stop_machine has a scalability issue that the machine stop time will be bigger in multi-core system. Thus the stop_machine-less kpatch is required especially for such big-machine enterprise users. To solve this issue, this presentation shows the kretprobe-based function-user checker in kpatch, and upstream kprobe/kretprobe improvements for that purpose.Survey this Session