Hi,

I am trying to develop easily reproducible testcase creating a 4-way hang in the NFS client.
One subtask I am solving is to synchronize two events:

1) asynchronous kernel event (the action is triggered from the NFS server)
2) start of a system call in userland process



One of the possibility to synchronize it, is to let the dtrace probe to send a signal to the user land process via a system() action.

As an example, I have tried sending signal to a pid 9999 whenever probe 'nfs4_write:entry' is hit:

dtrace -w -n 'genunix:kill:entry{trace(timestamp)}' -n 'nfs4_write:entry{ system("kill 99999"); trace(timestamp)}'



# CPU     ID                    FUNCTION:NAME
 1  60644                 nfs4_write:entry sh: kill: no such process
   5372337061331
 2  18234                       kill:entry     5373011617501

The problem is that the delay between the event (nfs probe) and the signal delivery is almost 1 second.
That is too much for my tests.


# echo 5373011617501-5372337061331 | bc
674556170     ### It is 674 miliseconds


Can be the delivery of the signal done faster (less than 100 ms) by some tuning?


Thanks,
Pavel
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to