From: Oleg Nesterov Date: Mon, 4 Feb 2013 18:05:43 +0000 (+0100) Subject: uprobes/perf: Avoid uprobe_apply() whenever possible X-Git-Tag: v3.9-rc1~173^2~2^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2fe8ba674e8acbb9e8e63510b802c6d054d88a3;p=pandora-kernel.git uprobes/perf: Avoid uprobe_apply() whenever possible uprobe_perf_open/close call the costly uprobe_apply() every time, we can avoid it if: - "nr_systemwide != 0" is not changed. - There is another process/thread with the same ->mm. - copy_proccess() does inherit_event(). dup_mmap() preserves the inserted breakpoints. - event->attr.enable_on_exec == T, we can rely on uprobe_mmap() called by exec/mmap paths. - tp_target is exiting. Only _close() checks PF_EXITING, I don't think TRACE_REG_PERF_OPEN can hit the dying task too often. Signed-off-by: Oleg Nesterov --- Reading git-diff-tree failed