DTrace does allow for some very unobtrusive observation. Enabling every fbt::: probe is always going to have a measurable effect on performance.

From what we know of the implementation of DTrace, it would seem very unlikely that DTrace per se has changed the way the already broken PCFS code behaves.

Rather, I suspect a latent race condition, the window for which is opened once the code has been slowed down by the sledge hammer of enabling every fbt probe.

Your experience doesn't undermine confidence in DTrace, it simply underlines how complex systems are, and that we need to take things like probe effect into account, no matter how small it may be.

Phil


Martin Cerveny wrote:
Hello,
What happens if you insert a "sleep 1" in the loop
between the mkdir and ls?

Error still exist with sleep or with mount/umount (with stable "dtracing side 
effect"; not shown here):

# let i=0; while [[ $i -le 10 ]]; do mkdir .NET; sleep 1; ls -lad .NET; sleep 
1; rmdir .NET; let i=i+1; done
.NET: No such file or directory
rmdir: directory ".NET": Directory does not exist
.NET: No such file or directory
rmdir: directory ".NET": Directory does not exist
.NET: No such file or directory
....

# cd ..
# let i=0; while [[ $i -le 10 ]]; do mkdir /mnt/.NET; umount /mnt;  mount -F 
pcfs $LOFIDEV:c /mnt; ls -lad /mnt/.NET; sleep 1; rmdir /mnt/.NET; let i=i+1; 
done
/mnt/.NET: No such file or directory
rmdir: directory "/mnt/.NET": Directory does not exist
/mnt/.NET: No such file or directory
rmdir: directory "/mnt/.NET": Directory does not exist
...

M.C>

PS: I understand that there is the error in PCFS (I will probably find and correct the 
problem), but I am very disappointed by "dtracing side effect" !!!! This breaks 
non intrusiveness of dtrace.

_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to