Thanks Jon, That's really helpful.
Thanks, Daniel On Sat, Aug 8, 2009 at 2:34 AM, Jon Haslam <jonathan.has...@sun.com> wrote: > Hi Daniel, > > > If use truss on an oracle process. we could see something like the >> following, so semtimedop should be a syscall >> >> 22459/1: semtimedop(9, 0xFFFFFD7FFFDFE648, 1, 0xFFFFFD7FFFDFE488) EAGAIN >> 22459/1: semnum=15 semop=-1 semflg=0 >> 22459/1: timeout: 2.060000000 sec >> >> >> >> but the following command shows nothing. How can I trace semtimedop using >> dtrace ? >> dtrace -l|grep semtimedop >> > > Unfortunately you are going to have to deal with a bit more > syscall implementation than you should have to with SYS-V > semphore operations. Under the covers a semtimedop(2) is a > sub-operation for the undocumented semsys call. The case you > are dealing with here is actually documented in the user guide: > > http://wikis.sun.com/display/DTrace/syscall+Provider > > Simply do something like: > > syscall::semsys:entry > /arg0 == 4/ > { > /* SEMTIMEDOP */ > } > > There is a piece of work we're thinking of doing to improve > this situation but it would be a non-trivial undertaking. > > Jon. >
_______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org