Solaris 動的トレースガイド

プローブ

表 27–1 は、io プローブの説明です。

表 27–1 io プローブ

プローブ 

説明 

start

周辺機器 (デバイス) または NFS サーバーに対する入出力要求が発行される直前に起動するプローブ。args[0] は、入出力要求の bufinfo_t をポイントしています。args[1] は、入出力要求の受け取り側デバイスの devinfo_t をポイントしています。args[2] は、入出力要求に対応するファイルの fileinfo_t をポイントしています。ファイル情報を利用できるかどうかは、入出力要求の発行元ファイルシステムによって決まります。詳細については、fileinfo_tを参照してください。

done

入出力要求が満たされたあと起動するプローブ。args[0] は、入出力要求の bufinfo_t をポイントしています。done プローブは、入出力が完了してから、バッファー上で完了処理が実行されるまでの間に起動します。したがって、done プローブが起動した時点では、b_flagsB_DONE は設定されていません。args[1] は、入出力要求を受け取ったデバイスの devinfo_t をポイントしています。args[2] は、入出力要求に対応するファイルの fileinfo_t をポイントしています。

wait-start

スレッドが入出力要求の完了を待って保留状態に入る直前に起動するプローブ。args[0] は、スレッドが待機する入出力要求の、buf(9S) 構造体をポイントしています。args[1] は、入出力要求を受け取ったデバイスの devinfo_t をポイントしています。args[2] は、入出力要求に対応するファイルの fileinfo_t をポイントしています。wait-start プローブの起動後しばらくすると、同じスレッド内で wait-done プローブが起動します。

wait-done

スレッドが入出力要求の完了待ち状態を抜けたときに起動するプローブ。args[0] は、スレッドが待機する入出力要求の、bufinfo_t をポイントしています。args[1] は、入出力要求を受け取ったデバイスの devinfo_t をポイントしています。args[2] は、入出力要求に対応するファイルの fileinfo_t をポイントしています。wait-done プローブは、同じスレッド内で wait-start プローブが起動したあとでのみ起動します。

io プローブは、周辺機器 に対する入出力要求が発行されたときと、NFS サーバーに対するファイルの読み取り/書き込み要求が発行されたときに起動します。たとえば、NFS サーバーに対してメタデータの要求が発行されても、readdir(3C) によって io プローブがトリガーされることはありません。