Home » International » Russian » 2.6.18, RTC и ntpd
Re: 2.6.18, RTC и ntpd [message #33630 is a reply to message #33579] |
Mon, 27 October 2008 07:37 ![Go to previous message Go to previous message](/theme/ovz3/images/up.png) ![Go to next message Go to previous message](/theme/ovz3/images/down.png) |
maratrus
Messages: 1495 Registered: August 2007 Location: Moscow
|
Senior Member |
|
|
Здравствуйте еще раз,
никак не могу зацепиться за мысль, чтобы понять вашу проблему.
Quote: |
Подберу их так, что разница времен практически не меняется и в пределах нескольких микросекунд на протяжении минимум получаса.
|
Так как раз в 11 минут происходит синхронизация rtc и system clock, то достаточно следить, чтобы часы не разбегались в течение одиннадцати минут.
Quote: |
Однако стоит перезагрузитьтся, и получаем уход минимум в 50 микросекунд за секунду
|
То есть у Вас проблема не во всяких там алгоритмах adjusting'а, а в том, что rtc и системные часы идут с разной скоростью?
Quote: |
Как-будто в ядре для расчета времени используется не инициализированная переменная.
|
Вот, что я нарыл.
Текущее время и дата хранятся в переменной xtime типа
struct timespec xtime __attribute__ ((aligned (16)));
Инициализация происходит в функции time_init() (привожу выдержки из i386 архитектуры)
#define INITIAL_JIFFIES ((unsigned long)(unsigned int) (-300*HZ))
void __init time_init(void)
{
...
//Количество секунд, прошедших с 01.01.1970,
//берется информация из rtc
xtime.tv_sec = get_cmos_time();
//Количество наносекунд, прошедших с начала текущей секунды
//INITIAL_JIFFIES - это изначальное значение jiffies (его делают
"отрицательным")
//!!Это место мне не очень понятно
// cказано, что tv_nsec выбирают таким образом, чтобы первое переполнение jiffies попало на границу секунды,
//но с таким значение, как выбрано, этого не происходит. Попробую выяснить.
xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
...
}
То есть, например, в этом месте количество tv_nsec ставится независимо от rtc.
Quote: |
Оказывется, теперь в Linux возможны разные источники для системного времени
|
Ага, у каждого есть свой рейтинг, насколько я понял, выбор должен происходить по рейтингу либо по имени, которое, например, может придти из sysfs или commandline.
Выбор происходит в функции:
static struct clocksource *select_clocksource(void)
Она просто смотрит на список доступных таймеров, если встретила таймер по требуемому имени, то его выбирает, иначе действует по рейтингу. Я выписал рейтинги:
jiffies = 0
pit = 110
acpi_pm = 200
hpet = 250
tsc = 300
Пока я не очень понимаю, когда и кто у Вас на машине выбрал acpi_pm вместо tsc.
Надо внимательнее присмотреться либо к коду ядра, либо к init скриптам на машине.
Надеюсь, что-нибудь из вышесказанного поможет.
|
|
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
2.6.18, RTC и ntpd
By: seyko2 on Sat, 18 October 2008 20:46
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: maratrus on Mon, 20 October 2008 11:41
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: seyko2 on Wed, 22 October 2008 00:19
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: maratrus on Wed, 22 October 2008 06:28
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: seyko2 on Wed, 22 October 2008 16:41
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: maratrus on Wed, 22 October 2008 17:14
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: maratrus on Wed, 22 October 2008 17:20
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: seyko2 on Fri, 24 October 2008 00:01
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: seyko2 on Mon, 27 October 2008 01:40
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: seyko2 on Thu, 30 October 2008 22:58
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: piavlo on Sun, 14 December 2008 08:16
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: maratrus on Mon, 27 October 2008 07:37
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: seyko2 on Tue, 28 October 2008 04:20
|
![Read Message Read Message](/theme/ovz3/images/read.png) |
|
Re: 2.6.18, RTC и ntpd
By: maratrus on Tue, 28 October 2008 07:28
|
Goto Forum:
Current Time: Fri Aug 30 02:29:11 GMT 2024
Total time taken to generate the page: 0.03387 seconds
|