реклама на сайте
подробности

 
 
> Тестирование латентности прерываний ОС, не проводил ли кто?
Evgeny_CD
сообщение Jul 29 2005, 09:45
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Идея проста. Задающий импульс на прерывание. В обработчике прерывания ногой дергаем.

Счетчик. По запускающему стартует, по дерганию ногой останавливается.

Микроконтроллер. Берет выход счетчика -> COM -> PC -> файл. Метки PC времени проставить в файле.

Статистика. Скользящая гистограмма. Как распредились латентности за последнюю минуту.

Ну и задачки всякие разные под ОСью запускать. WEB сервачек там и т.д.

А затем смотрим, как плывет гистограмма в зависимости от нагрузки.

Особенно меня такое интересует для Linux (нормального, не RT) на небыстрых процах (~70 Mhz ARM720 и т.д.)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Jul 29 2005, 10:33
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



В нормальном linux'е нет смысла - любой драйвер могет прерывания запретить надолго, особенно актуально для X'овых/fbdev драйверов. В i386 RT варианте легко получить стабильные 4-10 мкс, arm не юзал, но народ на motorollовском 5672 получал 5 мкс, думаю arm должен быть не хуже.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jul 29 2005, 10:56
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(Harbour @ Jul 29 2005, 14:33)
В нормальном linux'е нет смысла - любой драйвер могет прерывания запретить надолго, особенно актуально для X'овых/fbdev драйверов. В i386 RT варианте легко получить стабильные 4-10 мкс, arm не юзал, но народ на motorollовском 5672 получал 5 мкс, думаю arm должен быть не хуже.
i386 - это при какой тактовой?

5672 - это что за проц (не нашел), тактовая?

Мне 5 мкс не надо, меня 1 мс устроит. Вопрос в том, можно ли ее гарантировать в обычном, не RT линухе?
Go to the top of the page
 
+Quote Post
tvv
сообщение Jul 29 2005, 20:50
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 8-10-04
Пользователь №: 824



Цитата(Evgeny_CD @ Jul 29 2005, 13:56)
Мне 5 мкс не надо, меня 1 мс устроит. Вопрос в том, можно ли ее гарантировать в обычном, не RT линухе?
*

Ответ скорее нет, чем да sad.gif Тут еще та обманка, что время реакции 1мс получить можно, а гарантировать никак. Я на осцилоскопе это красиво видел. Драйвер в прерывании (мною писанный, т.е. я уверен что мин нет) кидает через PCI флаг прямо на вход скопа. И все вроде хорошо пока не поставил секундную развертку. Падал (или стоял) мой флаг до сотен милисекунд, без каких-либо сообщений. Причем чем сильнее я грузил шину тем дольше лежал флаг (что по-человечески понятно). Машина была встроеный в VME контроллер с P3 800MHz (дело трех летней давности). Если надо гарантировать мс берите QNX или что нравится из аналогов. А про линух и масдай надо забыть. В Вашей задаче можно попытаться использовать счетчик тактових импульсов, есть у Р2 и выше (про ARM не знаю) такой восьми битный регистр. Под QNXом он доступен через апи, у линуха через асемблер. Пускается при включении питания и считает пока не выключат PC. В отличаи от RTC точность определяется частотой процессора и счетчик не зависит от операционки. Ну а дальше считайте латентность и стройте гистограмки.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 07:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016