|
From: Mathieu D. <mat...@ef...> - 2010-05-11 13:14:56
|
* Masami Hiramatsu (mhi...@re...) wrote:
> Remove text_mutex locking in optimize_all_kprobes, because
> that function doesn't modify text but just order optimization
> to worker.
Hi Masami,
A few comments:
1) optimize_all_kprobes/unoptimize_all_kprobes should have comments saying that
they are always called with kprobe_mutex held.
2) The sentence above in the changelog could be changed into:
..."because this function doesn't modify text. It simply queues optimizations
for the kprobe_optimizer worker thread."
3)
static DEFINE_MUTEX(kprobe_mutex); /* Protects kprobe_table */
.. should also state that it protects optimizing_list.
Thanks,
Mathieu
>
> Signed-off-by: Masami Hiramatsu <mhi...@re...>
> Cc: Ananth N Mavinakayanahalli <an...@in...>
> Cc: Ingo Molnar <mi...@el...>
> Cc: Jim Keniston <jke...@us...>
> Cc: Jason Baron <jb...@re...>
> Cc: Mathieu Desnoyers <mat...@ef...>
> ---
>
> kernel/kprobes.c | 2 --
> 1 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> index 282035f..1d34eef 100644
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -606,14 +606,12 @@ static void __kprobes optimize_all_kprobes(void)
> return;
>
> kprobes_allow_optimization = true;
> - mutex_lock(&text_mutex);
> for (i = 0; i < KPROBE_TABLE_SIZE; i++) {
> head = &kprobe_table[i];
> hlist_for_each_entry_rcu(p, node, head, hlist)
> if (!kprobe_disabled(p))
> optimize_kprobe(p);
> }
> - mutex_unlock(&text_mutex);
> printk(KERN_INFO "Kprobes globally optimized\n");
> }
>
>
>
> --
> Masami Hiramatsu
> e-mail: mhi...@re...
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
|