On Thu, 23 Jun 2016, Torsten Duwe wrote: > I haven't looked at the fentry solution, but the code I'm involved in saves > the registers so that ftrace, live patch and friends can work freely. But > then it restores all regs and _then_ calls the replacement, so ftrace > saving all regs is no gain at all. You're right, thanks for bringing this up. In principle we should be able to modify the trampoline so that it performs its own register saving (in ftrace_regs_caller) and restoring (*), completely shielding the new function from any optimization gcc might have done on registers, shouldn't we? (*) we'll have to piggy-back on ftrace_epilogue on that, i.e. making the return to the original code go through trampoline as well (the same way graph tracer works) Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html