Я честно вижу это сообщение сегодня впервые и понятия не имею, что оно на самом деле означает.
При этом я прочитал статью в Википедии, посвященную счетчику меток времени (именно это tsc
означает сообщение об ошибке). В статье упоминается проблема с TSC во втором абзаце:
До недавнего времени счетчик меток времени являлся отличным способом получения информации о тактовой частоте ЦП с высоким разрешением и минимальными издержками. С появлением многоядерных / многопоточных ЦП, систем с несколькими ЦП и «спящих» операционных систем нельзя полагаться на TSC для получения точных результатов.- если не будут предприняты особые меры для исправления возможных недостатков: частоты тиков и того, имеют ли все ядра (процессоры) одинаковые значения в своих регистрах учета времени. Не обещается, что счетчики меток времени нескольких процессоров на одной материнской плате будут синхронизированы. В таких случаях программисты могут получить надежные результаты только путем привязки своего кода к одному ЦП. Даже в этом случае скорость ЦП может измениться из-за мер по энергосбережению, предпринятых ОС или BIOS, или система может быть переведена в спящий режим и позднее возобновлена (сброс счетчика меток времени). В этих последних случаях, чтобы оставаться актуальным, счетчик должен периодически калиброваться (в соответствии с временным разрешением, требуемым вашей заявкой).
Короче говоря, в современных системах TSC отстает для точного измерения времени . И это то, что сообщение говорит вам. В вашей системе TSC не является стабильным источником времени.
delta
Отметил, я бы предположить, это сообщенное время дельта между двумя клещами TSC. Это означает, что каждый раз, когда подсчитывается TSC 1
, NNNNNNNNN
наносекунды пройдут. Вот так вы обычно можете сохранять очень точное время.
Ядро Linux будет проверять эту частоту несколько раз (чтобы определить, является ли источник стабильным) и получит разные результаты. Итак, сообщение.
Итак, вы должны быть обеспокоены?
Я, честно говоря, не знаю. Насколько я понимаю, эта проблема возникает из-за того, что процессы «перемещаются» между ядрами (каждое ядро может иметь разную частоту TSC) или ядром, меняющим частоту ядра (как при энергосбережении).
Скорее всего, сообщение печатается только потому, что ядро обнаружило эту проблему для себя и теперь будет соответствующим образом скорректировано.
И из того, что я прочитал в исходниках ядра ( arch/x86/kernel/tsc.c
), я не думаю, что я слишком далек от своих предположений.
Я сомневаюсь, что сообщение означает критическое состояние. И я основываю это на предположении, что вы уже знаете, если это было критически важно.
tsc
относится к счетчику меток времени . Если это поможет.