profil()
システムコールは、現在のプロセスのカウンタプロファイルを有効化または
無効化します。
プロファイルが有効な場合、プロファイルクロックチックごとに、カーネルは
samples
バッファ内の適切なカウントを更新します。
プロファイルクロックの周波数は、
プロファイル出力ファイル内のヘッダ内に記録されます。
バッファ
samples
には
size
バイトが含まれており、一連の 16 ビットの塊に分割されます。
各塊は、プロファイルが有効時にプロファイルクロックチックが発生したときに、
プログラムカウンタがプロセス内の特別なアドレス範囲内にあった回数を
カウントします。
指定のプログラムカウンタアドレスについて、対応する塊の数が
次の関係によって与えられます。
[(pc - offset) / 2] * scale / 65536
offset
引数は、カーネルがプログラムカウンタサンプルを
取る最も低いアドレスです。
scale
引数の範囲は 1 から 65536 であり、
塊の広がりを変更するのに使用できます。
スケール 65536 は、各塊をアドレス範囲の 2 バイトに割り当てます。
スケール 32768 は 4 バイト、16384 は 8 バイト、後は同様です。
中間の値はおおよそ中間の範囲を与えます。
scale
値が 0 の場合、プロファイルは無効になります。