On Thu 2015-12-10 10:48:04, zhouchengming wrote: > Now the livepatch register one tracer for each changed function. > So ftrace will iterates the whole tracers list when each changed > function be called. And when there are many changed functions, this > solution can cause performance degradation obviously. > > So I think we can register only one tracer for all the changed > functions. And in this tracer handler we can find the right new > function list easily using the hash value of the old function > address. I haven't studied this in detail but I believe that ftrace is more effective these days. It could call the handler directly if only one is registered. I think that it is related to the FTRACE_FL_TRAMP flag and ftrace_update_trampoline(). I am not sure if it works out of box. Anyway, the trampoline stuff looks like the most effective way to go. Best Regards, Petr -- 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