0.5.2 (2016年2月3日)

カーネル・リリース:

4.1.12-33.el6uek

クラッシュの修正:

  • USDTプローブを含むプログラムは、共有ライブラリがアドレス空間の上半分にマッピングされている場合、起動時にクラッシュしたり、dlopen()時間が発生したりすることがあります。これはx86-64では発生しませんが、SPARC64では一般的です。dtrace -Gは、固定のELFコンストラクタにリンクするために、USDTプローブを含むこのようなプラットフォーム上で再実行する必要があります。

パフォーマンスの向上:

  • dtrace(1)がCPU負荷の高いループで時間を浪費しなくなりました。以前は、スリープ中のコードが誤って時間を選択し、ほぼ半分の時間でスリープしていました

バグ修正:

  • dtrace -cおよび-pがSPARC64で動作するようになりました。

  • entryプローブとreturnプローブの両方がシステム・コールに対して有効になっている場合、最初のプローブを無効にすると、2番目のプローブがまだアクティブな場合でも、システム・コール表内の関数ポインタがデフォルト値にリセットされていました。これにより、システム・コール・プローブの状態で競合状態が発生する可能性がありました。

  • SPARC64 R_L7レジスタへのアクセスがoff-by-oneバグのため、常に失敗していました。

  • ユーザー・プロセスのスタックの先頭を通り越して読み取られる場合がありました。スタック・スロットを読み取るメカニズムも更新され、アーキテクチャ全体の効率、一貫性、および信頼性が向上しました。

  • ユーザー・スペース・プロセスのスタックを読み取る間、スタック・バイアスが必要とするアーキテクチャに適用されていなかったため、基本的に無効な値が大量に発生し、結果が損なわれていました。