|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Igor Sysoev 2:5020/400 26 Dec 2000 01:02:04 To : Grok Subject : Re: microuptime in FreeBSD 4.2R? -------------------------------------------------------------------------------- Grok wrote in message <91btar$aq4$1@host.talk.ru>... >Периодически на консоль вылетает такое сообщение: >=== >microuptime() went backwards (50343.766360 -> 50343,-694609895) >=== >О чем это? FreeBSD 4.2 RELEASE Это время работы какого-либо процесса пошло вспять. Hа самом деле, пустяк. И лечится, на самом деле, очень просто - убиранием options APM из ядра. Если apm нет, то для отсчета времени используется пентиумный TSC. А если apm есть, то используются счетчик 8254, поскольку при apm частота процессора может меняться, и время по тактам считать не получится. Hа SMP системах TSC тоже использовать нельзя, потому как на процессорах они не синхронизированы. И есть такое ощущение, что чипсеты, которые понимают Athlon, не совсем стандартно реализуют функции 8254. Кроме того, есть и другое ощущение, что с тех пор, как в четверке начали улучшать SMP, несколько изменился скедъюлинг процессов и даже на нормальных чипсетах при некоторых обстоятельствах возможен обратный микроаптайм. Я видел подобное на интеловском двухпроцовом lancewood'е при высоком уровне прерываний от fxp - ~10M/s входящих и столько же выходящих. Hекоторую гипотезу можно найти на http://www.freebsd.org/cgi/getmsg.cgi? fetch=54128+57641+/usr/local/www/db/text/2000/freebsd-smp/ 20000924.freebsd-smp Игорь Сысоев --- ifmail v.2.15dev5 * Origin: NITEK Corporation (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/76978de04259.html, оценка из 5, голосов 10
|