This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] For getrusage's argstr in tapset


Hello, Wenji.

Within the syscall getrusage, there are only 2 types of flag.
So in my opinion, all the other values are not getrusage's flag and should
 be printed as UNKNOWN.

To output a clearer description, we need also print the value of flag in
 the case of "UNKNOWN".

So I think it will be better if it can be revised in my way.

Regards
Zhaolei
----- Original Message ----- 
From: "Wenji Huang" <wenji.huang@oracle.com>
To: "Zhaolei" <zhaolei@cn.fujitsu.com>
Cc: <systemtap@sourceware.org>
Sent: Monday, September 10, 2007 2:18 PM
Subject: Re: [patch] For getrusage's argstr in tapset


> Hi zhaolei,
> 
>    In normal case, thing may be like that. But in abnormal case, maybe 
> wrong arguments are passed to this function. So new entry will
> give a clearer description, instead of general UNKNOWN.
> 
> Thanks,
> Wenji
>    
> Zhaolei wrote:
> 
> >Hello, Wenji.
> >
> >Thank you for your suggestion.
> >
> >I investigated RUSAGE_BOTH and got the following result:
> >1: _rusage_who_str is only used for sys_getrusage(and compat_sys_getrusage)
> > in current tapset, and there is no other syscall which needs to call
> > _rusage_who_str.
> >
> >2: RUSAGE_BOTH is only used in kernel's internal function getrusage, but
> > there is no syscall using this function with RUSAGE_BOTH.
> >
> >So I think RUSAGE_BOTH is not necessary in tracing syscall, but it may be
> > needed when tracing kernel function as getrusage.
> >
> >It is good idea disable RUSAGE_BOTH only in sys_getrusage
> >(and compat_sys_getrusage).
> >
> >Regards
> >Zhaolei
> >----- Original Message ----- 
> >From: "Wenji Huang" <wenji.huang@oracle.com>
> >To: "Zhaolei" <zhaolei@cn.fujitsu.com>
> >Cc: <systemtap@sourceware.org>
> >Sent: Monday, September 10, 2007 11:44 AM
> >Subject: Re: [patch] For getrusage's argstr in tapset
> >
> >
> >  
> >
> >>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
> >>>
> >>> 
> >>>
> >>>      
> >>>
> >>    
> >>
> >
> >  
> >
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]