0.6.2 (2017年9月12日)

パッケージの変更点:

  • /usr/include/linux/dtraceのDTraceヘッダーは、以前はdtrace-modules-shared-headersパッケージによって提供されていました。このヘッダーはdtrace-utilsパッケージのビルド時に/usr/src/kernelsのkernel-uek-develパッケージから取り込み、dtrace-utils-develパッケージに出荷されるようになりました。

  • libdtrace-ctf 0.7以上が必要になりました。

  • CTF型情報を/lib/modules/$(uname -r)/kernel/vmlinux.ctfaにあるアーカイブで指定できるようになりました。参照されるすべての型がツリー外モジュールではなく、カーネル・ツリー内に見つかった場合に起動時間を短縮できます。

新機能:

  • ログ/線形結果を提供する、新しいllquantize()集積。構文: llquantize(式, 対数の底, 指数の下限, 指数の上限, ステップ, [インクリメント])

  • tracemem()アクションで3番目の引数(トレースするバイト数)が取得されました。2番目の引数(定数である必要がある)とは異なり、3番目の引数は任意のD式になり、これを使用してより大きな2番目の引数を適切な値に制限できます。これにより、Solarisのtracemem()と同等になります。

  • lockstatプロバイダが実装されます。

バグ修正:

  • dtrace_sync()が大幅に高速になりました。レイテンシの問題なく多数のプローブを設定および分解できます。ウォッチドッグ・タイマーの起動がより実用的になりました。

  • D引数のカウントが間違っているときに表示されるエラー・メッセージが、多くの場合、誤っているか紛らわしいものでした。

  • 捕捉されたプロセスが正確に間違った時間に停止した場合のシャットダウン時のセグフォルトが修正されました。

  • Dキーワードと同じ名前を持つカーネル内の構造および共通メンバーを参照できるようになりました。これは主に、selfという名前のメンバーを取得できることを意味します。

  • lquantize()が値を32ビットに切り詰めなくなりました。

  • dtrace_update()がモジュール・アドレス範囲をより適切にマージするようになりました。

  • RCU内でスリープしている重要なセクションを読み取る箇所またはアトミック・コンテキストが発生する可能性のある箇所(モジュール提供、プロファイル/ティック・プロバイダ、より一般的なプローブおよび状態の設定/分解コード)を修正します。

  • これを含まない1つのリリース後、walltimestamp変数が有用な値を再度報告します。

  • (ECBの)メモリーの割当ての失敗によってカーネルがクラッシュする可能性がある1つの箇所が修正されました。

ビルド時:

  • 前述のvmlinux.ctfaアーカイブを生成するためのカーネル・ツリーの新しいmake ctfターゲット。これは、ツリー内モジュールにリンクされなくなりました。このため、ctf.koモジュールと同様に、古いCONFIG_DT_DISABLE_CTFオプションが削除されます。

  • CTFをルートとしてビルドすることができなくなりました。

  • カーネルのCTFタイプの生成では、GCC 6によって生成されたDWARFが認識されるようになりました。また、ビットフィールドの表現に関するもう1つの問題が修正され、手動での保守が大変だったタイプ関連のブロックリストが自動化されました。

  • ioプロバイダ内の未使用の変数警告の一部が削除されます。