• Masami Hiramatsu's avatar
    kprobes: Use text_poke_smp_batch for optimizing · cd7ebe22
    Masami Hiramatsu authored
    Use text_poke_smp_batch() in optimization path for reducing
    the number of stop_machine() issues. If the number of optimizing
    probes is more than MAX_OPTIMIZE_PROBES(=256), kprobes optimizes
    first MAX_OPTIMIZE_PROBES probes and kicks optimizer for
    remaining probes.
    
    Changes in v5:
    - Use kick_kprobe_optimizer() instead of directly calling
      schedule_delayed_work().
    - Rescheduling optimizer outside of kprobe mutex lock.
    
    Changes in v2:
    - Allocate code buffer and parameters in arch_init_kprobes()
      instead of using static arraies.
    - Merge previous max optimization limit patch into this patch.
      So, this patch introduces upper limit of optimization at
      once.
    Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    Cc: Jason Baron <jbaron@redhat.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: 2nddept-manager@sdl.hitachi.co.jp
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    LKML-Reference: <20101203095428.2961.8994.stgit@ltc236.sdl.hitachi.co.jp>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    cd7ebe22
kprobes.c 55.9 KB