Hey Andrea,
As you can see the return value is an address, actually the same address as
arg0 in entry.
I suspect I'm doing something wrong in dtrace but I can't realize
whatCould you please advice?
The return type of calc_guest_util() was cut off, but I infer that
it's a double. DTrace doesn't have much by way of support for
floating-point values -- adding access to the floating-point registers
and support for manipulating floating-point datatypes have long been
RFEs for DTrace. I'd offer to add them to illumos, but I doubt that
would be of much help to users of Oracle Solaris.
Adam
On Sun, Jun 12, 2011 at 4:04 AM, Andrea Cucciarre'
andrea.cuccia...@oracle.com wrote:
Hello,
I need to use the pid provider to trace the inputs and return value of the
following function
calc_guest_util(rs_guest_util_t *gutil, int ncpu, int fcpu)
{
snip
return ((100.0 * (double)used_cycles) / (double)(total_cycles));
}
I can trace the input arguments with the following dscript (if there's a
quicker and cleaver dscript to do that please correct me):
#!/usr/sbin/dtrace -qs
typedef struct rs_guest_util {
uint64_t lifespan;
uint64_t wallclock_delta;
uint64_t active_delta;
uint64_t stopped_cycles;
uint64_t yielded_cycles;
} rs_guest_util_t;
pid$1::calc_guest_util:entry
{
self-guest=((rs_guest_util_t *)(copyin(arg0,sizeof(rs_guest_util_t;
printf(arg0 %x\n,arg0);
printf(ncpu %d\n,arg1);
printf(fcup %d\n,arg2);
printf(active delta %d\n,self-guest-active_delta);
printf(stopped cycles %d\n,self-guest-stopped_cycles);
printf(yielded cycles %d\n,self-guest-yielded_cycles);
}
Then I added the following to trace the return value of the function
pid$1::calc_guest_util:return
{
printf(return %x\n,arg1);
}
But I get the following output:
arg0 ffbffb80
ncpu 8
fcup 0
active delta 583970560
stopped cycles 0
yielded cycles 4652066048
total cycles 4671764480
return ffbffb80
As you can see the return value is an address, actually the same address as
arg0 in entry.
I suspect I'm doing something wrong in dtrace but I can't realize
whatCould you please advice?
Regards
Andrea
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org
--
Adam Leventhal, Delphix
http://dtrace.org/blogs/ahl
275 Middlefield Road, Suite 50
Menlo Park, CA 94025
http://www.delphix.com
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org