return probe not executed on SMP system
Hien Nguyen
hien@us.ibm.com
Fri Nov 4 05:03:00 GMT 2005
Guang Lei Li wrote:
>I applied your patch, and I also raise the maxaction from 1 to 10, then
>it worked really well, all return probed are caught.
>
>
Do you mean maxactive? maxactive is not default to 1.
>But the default setting of maxaction to 1 is too low for a multi-processor
>system. It will cause a lot of misses of kretprobe(I counter it on Power5
>system for a while, about 2000 kprobes are caught, but only about 400
>kretprobe was caught, so about 1600 kretprobes are missed)
>
>I read the "kernel/kprobes.c", and found:
>
>/* Pre-allocate memory for max kretprobe instances */
>if (rp->maxactive <= 0) {
>#ifdef CONFIG_PREEMPT
> rp->maxactive = max(10, 2 * NR_CPUS);
>#else
> rp->maxactive = NR_CPUS;
>#endif
> }
>
>
By default maxactive is set to a value as in the #ifdef #endif clause
above
>Is it appropriate to just delete "if (rp->maxactive <= 0)", to change the
>above block as:
>
>
No, you should not make that change. When register a return probe, user
has an option to change maxactive.
We need to implement the systemtap's interface to make that change in
the future.
Hien.
More information about the Systemtap
mailing list