[PATCH 1/5] Kprobes: Temporary disarming of reentrant probe

Ananth N Mavinakayanahalli amavin@redhat.com
Tue May 24 19:02:00 GMT 2005


Andi Kleen wrote:

Hi Andi,

>>@@ -55,6 +61,9 @@ struct kprobe {
>> 	/* list of kprobes for multi-handler support */
>> 	struct list_head list;
>> 
>>+	/*count the number of times this probe was temporarily disarmed */
>>+	unsigned long nmissed;
> 
> 
> You declare a variable.
> 
> 
>>+
>> 	/* location of the probe point */
>> 	kprobe_opcode_t *addr;
>> 
>>diff -puN kernel/kprobes.c~kprobes-temporary-disarming-on-reentrancy-generic kernel/kprobes.c
>>--- linux-2.6.12-rc4-mm2/kernel/kprobes.c~kprobes-temporary-disarming-on-reentrancy-generic	2005-05-24 15:28:08.000000000 +0530
>>+++ linux-2.6.12-rc4-mm2-prasanna/kernel/kprobes.c	2005-05-24 15:28:08.000000000 +0530
>>@@ -334,6 +334,7 @@ int register_kprobe(struct kprobe *p)
>> 	}
>> 	spin_lock_irqsave(&kprobe_lock, flags);
>> 	old_p = get_kprobe(p->addr);
>>+	p->nmissed = 0;
> 
> 
> And then you set it to 0.
> 
> And nothing more. Surely this patch does not do anything. Looks like
> some code is missing.

No Andi - nmissed is incremented in the arch/xxx/kernel/kprobes.c
everytime the probe is "reentered". This is part of the subsequent
patches in the series.

Ananth



More information about the Systemtap mailing list