• rdtsc bclk overclock

    From daniel S@21:1/5 to All on Fri Oct 6 13:55:41 2023
    when i overclock my bclk to 129mhz rdtsc not cycle correctly when reading the freq what cause it ??

    turbo mode disabled c states disabled hyperthreading disabled speedshift disabled make sure its reading in first core KeSetAffinityThread();
    i have i9 9900ks

    base clock reading 4ghz
    bclk clock reading 5.160ghz when overclock 129mhz

    uint64_t tsc_hz = __readmsr(0xCE);
    return ((tsc_hz >> 8) & 0xff) * 100 * 1E6; freq rdtsc reading consistent on 4ghz

    uint64_t tsc_hz = __readmsr(0xCE);
    return ((tsc_hz >> 8) & 0xff) * 129 * 1E6; freq rdtsc reading overflow on 129mhz

    is there way to fix it ? i even try reading the freq directly with cpuid

    inline unsigned __int64 get_tsc_freqX() {
    static unsigned __int64 freq = 0;
    if (freq == 0) {
    int raw[4];
    __cpuid(raw, 0x16); // get cpu freq
    freq = static_cast<unsigned __int64>(raw[0]) * 1000000;
    }
    return freq;
    }

    but seems rdtsc still not cycle count correctly on bclk overclock 129mhz

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From daniel S@21:1/5 to daniel S on Fri Oct 6 14:00:46 2023
    On Friday, October 6, 2023 at 8:55:44 PM UTC, daniel S wrote:
    when i overclock my bclk to 129mhz rdtsc not cycle correctly when reading the freq what cause it ??

    turbo mode disabled c states disabled hyperthreading disabled speedshift disabled make sure its reading in first core KeSetAffinityThread();
    i have i9 9900ks

    base clock reading 4ghz
    bclk clock reading 5.160ghz when overclock 129mhz

    uint64_t tsc_hz = __readmsr(0xCE);
    return ((tsc_hz >> 8) & 0xff) * 100 * 1E6; freq rdtsc reading consistent on 4ghz

    uint64_t tsc_hz = __readmsr(0xCE);
    return ((tsc_hz >> 8) & 0xff) * 129 * 1E6; freq rdtsc reading overflow on 129mhz

    is there way to fix it ? i even try reading the freq directly with cpuid

    inline unsigned __int64 get_tsc_freqX() {
    static unsigned __int64 freq = 0;
    if (freq == 0) {
    int raw[4];
    __cpuid(raw, 0x16); // get cpu freq
    freq = static_cast<unsigned __int64>(raw[0]) * 1000000;
    }
    return freq;
    }

    but seems rdtsc still not cycle count correctly on bclk overclock 129mhz

    turbo mode also disabled

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)