summaryrefslogtreecommitdiff
path: root/kernel/context_tracking.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2013-02-04 19:05:43 +0100
committerOleg Nesterov <oleg@redhat.com>2013-02-08 18:28:08 +0100
commitb2fe8ba674e8acbb9e8e63510b802c6d054d88a3 (patch)
tree1bd1defbfe3f285dfa7c77f94bc5523ac4a82679 /kernel/context_tracking.c
parentf42d24a1d20d2e72d1e5d48930f18b138dfad117 (diff)
downloadlwn-b2fe8ba674e8acbb9e8e63510b802c6d054d88a3.tar.gz
lwn-b2fe8ba674e8acbb9e8e63510b802c6d054d88a3.zip
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 <oleg@redhat.com>
Diffstat (limited to 'kernel/context_tracking.c')
0 files changed, 0 insertions, 0 deletions