Vedo onestamente questo messaggio per la prima volta oggi e non ho idea di cosa significhi effettivamente.
Detto questo, ho letto l'articolo di Wikipedia sul Time Stamp Counter (che è ciò che rappresenta tsc
il messaggio di errore). L'articolo menziona un problema con il TSC nel secondo paragrafo:
Fino a poco tempo fa, il contatore dei timestamp era un modo eccellente per ottenere informazioni sulla tempistica della CPU ad alta risoluzione e costi generali. Con l'avvento di CPU multi-core / hyperthreaded, sistemi con più CPU e sistemi operativi "in letargo", non è possibile fare affidamento sul TSC per fornire risultati accurati- a meno che non si presti molta attenzione a correggere i possibili difetti: tasso di tick e se tutti i core (processori) hanno valori identici nei loro registri di tempo. Non vi è alcuna promessa che i contatori di data e ora di più CPU su una singola scheda madre saranno sincronizzati. In questi casi, i programmatori possono ottenere risultati affidabili solo bloccando il loro codice su una singola CPU. Anche in questo caso, la velocità della CPU potrebbe cambiare a causa delle misure di risparmio energetico adottate dal sistema operativo o dal BIOS, oppure il sistema potrebbe essere ibernato e poi ripreso (azzerando il contatore del timestamp). In questi ultimi casi, per rimanere rilevante, il contatore deve essere ricalibrato periodicamente (in base alla risoluzione temporale richiesta dall'applicazione).
In breve, sui sistemi moderni, il TSC fa schifo per misurare con precisione il tempo . Ed è quello che ti dice il messaggio. Sul tuo sistema, TSC non è una fonte di tempo stabile.
L' delta
affermato, suppongo, è il delta temporale riportato tra due tick del TSC. Vale a dire, ogni volta che il TSC conta 1
, i NNNNNNNNN
nanosecondi saranno passati. Quindi, è così che di solito puoi tenere un tempo molto preciso.
Il kernel di Linux avrà verificato questa frequenza più volte (per determinare se il sorgente è stabile) e ha ottenuto risultati diversi. Quindi, il messaggio.
Quindi, devi preoccuparti?
Onestamente non lo so. A mio avviso, questo problema deriva dal fatto che i processi vengono "spostati" tra i core (ogni core potrebbe avere una diversa frequenza TSC) o un core che cambia la sua frequenza core (come nel caso del risparmio energetico).
Molto probabilmente, il messaggio viene stampato solo perché il kernel ha rilevato questo problema da solo e ora si adatterà di conseguenza.
E, da quello che ho letto nei sorgenti del kernel ( arch/x86/kernel/tsc.c
), non penso di essere troppo distante dai miei presupposti.
Dubito che il messaggio significhi una condizione critica. E mi baso sul presupposto che ormai sapresti se fosse critico.
tsc
riferisca al contatore dei timestamp . Se questo aiuta.