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

Reply via email to