[patch] For getrusage's argstr in tapset

Wenji Huang wenji.huang@oracle.com
Mon Sep 10 05:21:00 GMT 2007


Hi Zhaolei,

    probe getrusage set probe point at the entry of the function. So the 
arguments may be any value.
  
    So I think to keep the entry in _rusage_who_str, just give another 
mapping in case of some certain value.

    Of course, if you can ensure that "who" only be 
RUSAGE_SELF/RUSAGE_CHILDREN when the syscall called. Just remove.

Thanks,
Wenji


Zhaolei wrote:

>Hi, everyone
>
>In [tapset->probe getrusage], argstr's "who" argument is printed as
> "RUSAGE_BOTH" when its value is -2.
>But "RUSAGE_BOTH" is not used in getrusage syscall due to the following
> kernel source:
>asmlinkage long sys_getrusage(int who, struct rusage __user *ru)
>{
>        if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN)
>                return -EINVAL;
>        return getrusage(current, who, ru);
>}
>
>So i want to remove RUSAGE_BOTH from _rusage_who_str.
>Is there anyone knows why RUSAGE_BOTH is necessary, please tell me.
>and if no objection, I will commit it.
>
>Signed-off-by: "Zhaolei" zhaolei@cn.fujitsu.com
>
>--- aux_syscalls.stp.old        2007-09-06 11:51:14.000000000 +0900
>+++ aux_syscalls.stp    2007-09-06 11:52:22.000000000 +0900
>@@ -1661,7 +1661,6 @@ function _rlimit_resource_str(r) {
> function _rusage_who_str(w) {
>    if(w==0) return "RUSAGE_SELF"
>    if(w==-1) return "RUSAGE_CHILDREN"
>-   if(w==-2) return "RUSAGE_BOTH"
>    return sprintf("UNKNOWN VALUE: %d", w)
> }
>
>Regards
>Zhaolei
>
>  
>



More information about the Systemtap mailing list