web-dev-qa-db-ja.com

利用可能なクロックソースにTSCがありません

クロックソースとしてのTSCが利用できない理由がわかりませんか?

_cat /sys/devices/system/clocksource/clocksource0/available_clocksource 
hpet acpi_pm
_

私が使用しているCPUはIntel Xeon(R) X5570 @ 2.93GHzです。マザーボードは_Supermicro X8DTU-F_です。 _CentOS 6.3 2.6.32-279.22.1.el6.x86_64_を実行しています。

次のプログラムを使用して測定されたhpetまたは_acpi_pm_のパフォーマンスに満足していません。

_#include <time.h>
main()
{
    int rc;
    long i;
    struct timespec ts;

    for(i=0; i<10000000; i++) {
        rc = clock_gettime(CLOCK_MONOTONIC, &ts);
    }
}
_

クロックソースとしてhpetを使用

_time ./clock_timing
real    6m25.761s
user    6m23.456s
sys     0m0.403s
_

クロックソースとして_acpi_pm_を使用

_time ./clock_timing
real    10m12.057s
user    0m6.615s
sys     10m2.549s
_

更新

_cat /proc/cmdline_

ro root = UUID = 72903706-30bf-4285-9016-d24cf2066d3c rd_NO_LUKS rd_NO_LVM LANG = en_US.UTF-8 rd_NO_MD SYSFONT = latarcyrheb-Sun16 crackkernel = 132M @ 0M KEYBOARDTYPE = pc KEYTABLE = us rd_NO_DM vga =

_grep flags /proc/cpuinfo_

フラグ:fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm _constant_tsc_ Arch_perfmon pse_ pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm ida dts tpr_shadow vnmi flexpriority ept vpid

3
sudoer

Westmere以前のIntelCPUの中には、TSC機能に多少の欠陥があるものがあります。おそらくこれはあなたのケースであり、カーネルはTSCをタイマーソースとしてブラックリストに登録しています。次のコマンドを発行します

dmesg | grep -i tsc

ここで出力を報告します。

3
shodanshok