LinuxCNC,показания Latency-test и разрядность шины видеокарт

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Glite
Новичок
Сообщения: 14
Зарегистрирован: 06 мар 2019, 12:17
Репутация: 3
Настоящее имя: Эдуард
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение Glite »

torvn77 писал(а):(ничего особо сложного в этом нет, просто надо скопировать ядро и каталог с модулями)
В этом и есть основная сложность, поскольку попросту не существует RTAI ядер из более поздних версий дистра. Есть только RT-PREEMPT ядра, которые имеют даже хуже показатели джиттера в сравнении с RTAI.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение Serg »

Всё гораздо проще!
Система уже давно грузится так: сначала с диска в память загружается и распаковывается образ ядра, следом за ним загружается и распаковывается initrd - это образ Init RAM-диска, на котором лежат ядерные модули драйвера дискового контроллера, файловой системы и прочего, что нужно для нахождения на дисках корневой файловой системы и её монтирования. Можно лишь творчески доработать эту концепцию... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение torvn77 »

UAVpilot, тут проблема в том что как ни крути, а ФС в ОЗУ будет не сжатой и образ в 1ГБ займёт все 4 ГБ.
По идее это можно обойти сделав образ на btrfs с включённой компрессией но умеет ли старая версия btrfs в уровень компрессии не известно.

Так то конечно при вливании денег докупить ОЗУ не вопрос, но iMaks-RS только ради эксперимента этот расход делать не хочет.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7474
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3098
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение MX_Master »

Ща ОЗУшки настолько дешёвые, что вся возня со сжатием выйдет дороже ;)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение Serg »

torvn77 писал(а):UAVpilot, тут проблема в том что как ни крути, а ФС в ОЗУ будет не сжатой и образ в 1ГБ займёт все 4 ГБ.
Ну и хорошо, в 4 ГБ можно всю систему с X-ми поместить.
Сейчас 8ГБ RAM стоит столько-же, сколько самый мелкий SSD более-менее нормальной модели. Вы всё ещё хотите SSD? :)
torvn77 писал(а):Так то конечно при вливании денег докупить ОЗУ не вопрос, но iMaks-RS только ради эксперимента этот расход делать не хочет.
Без разницы, про RAM-диск я писал всем.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1728
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 199
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение iMaks-RS »

torvn77 писал(а):но iMaks-RS только ради эксперимента этот расход делать не хочет
Как-то не вошло на моём железе.. в один момент GUI завис на прочь, но при этом циферы в окне теста меняются... правда джиттер.. 100228414 нс... скриншот сделать не получилось, но сделал фото на тапок.. (
После изьятия видеокарты, запустил повтороный тест, но без изменений опций ядра.. остался nomodeset вместо i915.modeset=0..
Джиттер стал меньше 10 000.. 9851.. (три сеанса glxgears)... На этом решил и оставить. Носит это всё не коммерческий характер.. работает - ну и слава Богу... Лучшее - враг хорошего..
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение Serg »

Всякие "серьёзные" видекарты любят сами захватывать шину для общения с памятью, поэтому они как правило только ухудшают ситуацию.
i915.modeset=0 или nomodeset отключают поползновения драйверов воспользоваться какой-нибудь "ускорительной" фичей видеокарты.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение torvn77 »

Если сложить весь мой опыт то он будет таким:

Как мне помнится включение софтварного рендеринга LIBGL_ALWAYS_SOFTWARE приводило к очень огромному ухудшению латенси, хотя вроде весь рендеринг ложился на процессор и вообще не должен был мешать реалтайму.
Точно не помню, но по моему я там делал какие то настройки переводившие Х сервер на стандартные драйвера, правда какие именно не помню, возможно vesаfb, но вроде я пробовал разные.
Но так или иначе это был провал.

Другие люди пишут, да и сам я наблюдал что использоаание интегрированного видео приводит к очень низким латенси и это при том, что по идее интегрированное видео использует обычное ОЗУ что должно мешать работе ОС и приводить к росту латенси.
Это вроде бы опровергает мою версию о влияний на латенси скорости работы видеокарты, но на самом деле подтверждает если посмотреть на блоксхемах как подключена видеокарта
Core_i3_530_04.jpg (4430 просмотров) <a class='original' href='./download/file.php?id=165303&sid=732c3a404acde019f942786e6dfb40d9&mode=view' target=_blank>Загрузить оригинал (53.29 КБ)</a>
Xeon-Phi-core.jpg (4432 просмотра) <a class='original' href='./download/file.php?id=165302&sid=732c3a404acde019f942786e6dfb40d9&mode=view' target=_blank>Загрузить оригинал (66.16 КБ)</a>
По одной блоксхеме видеоядро это часть контролёра ОЗУ, по другой оно сидит за L2 кешем на одной шине с ядрами.
Это очень быстрое подключение к процессору, причём происходящее мимо шины PCI и видимо связанных с ней контролёров, наверное в том числе и контролёра прерываний.

В принципе я получал на более старых ядрах Linux и 128 битном Geforce 250 хороший латенси, но более поздних ядрах этот результат портился, это подталкивало меня к мысли что дело в коде ядра, но я это игнорировал, так как идея подобрать видеокарту была более простой.

С другой стороны если учесть как идёт разработка видеокарт то логично ожидать то, что более старый и более дешёвый Geforce 250 получит портящие реалтайм улучшения посже чем более дорогой и более поздний Geforce 760.

Теперь UAVPilot выдвигает версию
UAVpilot писал(а):Всякие "серьёзные" видекарты любят сами захватывать шину для общения с памятью, поэтому они как правило только ухудшают ситуацию.
Если сложить всё в месте то можно предположить что самозахват шины видеокартами происходит только при наличии в их драйвере определённого кода.
:lamp_flash: Нельзя ли найти в видеодрайвере код задействующий портящий реалтайм аппаратный функционал и попросту его убрать, оставив всё остальное.

Возможно тоже самое проделать и с драйверами других устройств, таких как дисковый контролёр, сетевые карты, контролёр шины USB?
alex_sar
Мастер
Сообщения: 1718
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 286
Настоящее имя: Алексей
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение alex_sar »

Никогда внутрь видеодрайверов не смотрел, но - попросту убрать код из драйвера ) уверен что нельзя. Это же не ардуино, у железки есть свои алгоритмы работы и думаю довольно жёсткие.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение Сергей Саныч »

Был уже прецедент, правда не со столь радикальными средствами, как копание в коде драйверов.
Сергей Саныч писал(а):Материнка была где-то 2000-2002 года, кажется, EPOX, на чипсете вроде бы VIA. Процессор - Athlon XP 1700 или около этого. Видео Radeon 9600 или что-то похожее, но тоже десятилетней давности. Путем научного шаманства - залез в BIOS setup, в разделе PNP/PCI Setting нашел пункт вроде VGA Interrupt Enable и запретил его. После чего Latency упал примерно с 200000 до 12000-15000.
Re: Latency-test показания на разных материнских платах #117
Чудес не бывает. Бывают фокусы.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение torvn77 »

alex_sar писал(а):Никогда внутрь видеодрайверов не смотрел, но - попросту убрать код из драйвера ) уверен что нельзя.
Можно, потому как
torvn77 писал(а):С другой стороны если учесть как идёт разработка видеокарт то логично ожидать то, что более старый и более дешёвый Geforce 250 получит портящие реалтайм улучшения посже чем более дорогой и более поздний Geforce 760.
То есть драйвер пишется не целиком, а по кусочкам, вопрос в том чтобы найти и с минимальной регрессией и последствиями удалить вредный кусок.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC,показания Latency-test и разрядность шины видео

Сообщение Serg »

Любая видеокарта выводит картинку на экран след. образом - просто тупо в цикле копирует содержимое видеобуфера (через DAC) в выдеовыход.
У внешней видеокарты есть своя собственная память и видеобуфер располагается в ней - казалось бы всё замечательно, выводи себе и не мешай работать остальным. Но для общения с системой и используются все эти DMA и IRQ, которые и занимают системные память и шину. Кстати, в некотрых BIOS есть параметр типа "VGA апертура" - это как раз размер куска, пересылаемого за раз. Можно попробовать поменять...
У встроенной видеокарты казалось-бы всё гораздо хуже - видеобуфер-то в системной памяти... А в реальности всё гораздо лучше: как правило циклический вывод видеобуфера встроен в механизм регенерации DRAM и практически не требует ресурсов. И заполнение видеобуфера данными из приложения (кнопки, окошки и т.п.) происходит "естественным" образом - видеобуфер-то в системной памяти...
Сергей Саныч писал(а):в BIOS setup, в разделе PNP/PCI Setting нашел пункт вроде VGA Interrupt Enable и запретил его. После чего Latency упал примерно с 200000 до 12000-15000.
Это правильная идея, прерывания от видеокарты актуальны разве что в играх. Только вот не везде это можно отключить.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

Вернуться в «LinuxCNC»