Oprofile を使用してカーネル モジュールのプロファイルを作成すると、opreport に次のような警告が表示されます。
warning: could not check that the binary file /lib/modules/2.6.32-191.el6.x86_64/kernel/fs/ext4/ext4.ko has not been modified since the profile was taken. Results may be inaccurate.
1591 samples % symbol name
1592 1622 9.8381 ext4_iget
1593 1591 9.6500 ext4_find_entry
1594 1231 7.4665 __ext4_get_inode_loc
1595 783 4.7492 ext4_ext_get_blocks
1596 752 4.5612 ext4_check_dir_entry
1597 644 3.9061 ext4_mark_iloc_dirty
1598 583 3.5361 ext4_get_blocks
1599 583 3.5361 ext4_xattr_get
誰かが警告とは何かを説明してください.oprofile出力の精度に影響を与えますか?とにかくこの警告を回避する方法はありますか?
任意の提案をいただければ幸いです。どうもありがとうございます!
詳細情報を追加: でdaemon/opd_mangling.c
if (!sf->kernel)
binary = find_cookie(sf->cookie);
else
binary = sf->kernel->name;
...
fill_header(odb_get_data(file), counter,
sf->anon ? sf->anon->start : 0, last_start,
!!sf->kernel, last ? !!last->kernel : 0,
spu_profile, sf->embedded_offset,
binary ? op_get_mtime(binary) : 0);
カーネル モジュール ファイルの場合、sf->kernel->name
はカーネル モジュール名であるため、フィル ヘッダーは常にmtime
0 で埋められ、不要な警告が生成されます。