В этом и есть основная сложность, поскольку попросту не существует RTAI ядер из более поздних версий дистра. Есть только RT-PREEMPT ядра, которые имеют даже хуже показатели джиттера в сравнении с RTAI.torvn77 писал(а):(ничего особо сложного в этом нет, просто надо скопировать ядро и каталог с модулями)
LinuxCNC,показания Latency-test и разрядность шины видеокарт
-
- Новичок
- Сообщения: 14
- Зарегистрирован: 06 мар 2019, 12:17
- Репутация: 3
- Настоящее имя: Эдуард
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Всё гораздо проще!
Система уже давно грузится так: сначала с диска в память загружается и распаковывается образ ядра, следом за ним загружается и распаковывается initrd - это образ Init RAM-диска, на котором лежат ядерные модули драйвера дискового контроллера, файловой системы и прочего, что нужно для нахождения на дисках корневой файловой системы и её монтирования. Можно лишь творчески доработать эту концепцию...
Система уже давно грузится так: сначала с диска в память загружается и распаковывается образ ядра, следом за ним загружается и распаковывается initrd - это образ Init RAM-диска, на котором лежат ядерные модули драйвера дискового контроллера, файловой системы и прочего, что нужно для нахождения на дисках корневой файловой системы и её монтирования. Можно лишь творчески доработать эту концепцию...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
UAVpilot, тут проблема в том что как ни крути, а ФС в ОЗУ будет не сжатой и образ в 1ГБ займёт все 4 ГБ.
По идее это можно обойти сделав образ на btrfs с включённой компрессией но умеет ли старая версия btrfs в уровень компрессии не известно.
Так то конечно при вливании денег докупить ОЗУ не вопрос, но iMaks-RS только ради эксперимента этот расход делать не хочет.
По идее это можно обойти сделав образ на btrfs с включённой компрессией но умеет ли старая версия btrfs в уровень компрессии не известно.
Так то конечно при вливании денег докупить ОЗУ не вопрос, но iMaks-RS только ради эксперимента этот расход делать не хочет.
- MX_Master
- Мастер
- Сообщения: 7474
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3098
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Ща ОЗУшки настолько дешёвые, что вся возня со сжатием выйдет дороже
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Ну и хорошо, в 4 ГБ можно всю систему с X-ми поместить.torvn77 писал(а):UAVpilot, тут проблема в том что как ни крути, а ФС в ОЗУ будет не сжатой и образ в 1ГБ займёт все 4 ГБ.
Сейчас 8ГБ RAM стоит столько-же, сколько самый мелкий SSD более-менее нормальной модели. Вы всё ещё хотите SSD?
Без разницы, про RAM-диск я писал всем.torvn77 писал(а):Так то конечно при вливании денег докупить ОЗУ не вопрос, но iMaks-RS только ради эксперимента этот расход делать не хочет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- iMaks-RS
- Мастер
- Сообщения: 1728
- Зарегистрирован: 10 июл 2017, 09:25
- Репутация: 199
- Настоящее имя: Maks
- Откуда: От туда.
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Как-то не вошло на моём железе.. в один момент GUI завис на прочь, но при этом циферы в окне теста меняются... правда джиттер.. 100228414 нс... скриншот сделать не получилось, но сделал фото на тапок.. (torvn77 писал(а):но iMaks-RS только ради эксперимента этот расход делать не хочет
После изьятия видеокарты, запустил повтороный тест, но без изменений опций ядра.. остался nomodeset вместо i915.modeset=0..
Джиттер стал меньше 10 000.. 9851.. (три сеанса glxgears)... На этом решил и оставить. Носит это всё не коммерческий характер.. работает - ну и слава Богу... Лучшее - враг хорошего..
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Всякие "серьёзные" видекарты любят сами захватывать шину для общения с памятью, поэтому они как правило только ухудшают ситуацию.
i915.modeset=0 или nomodeset отключают поползновения драйверов воспользоваться какой-нибудь "ускорительной" фичей видеокарты.
i915.modeset=0 или nomodeset отключают поползновения драйверов воспользоваться какой-нибудь "ускорительной" фичей видеокарты.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Если сложить весь мой опыт то он будет таким:
Как мне помнится включение софтварного рендеринга LIBGL_ALWAYS_SOFTWARE приводило к очень огромному ухудшению латенси, хотя вроде весь рендеринг ложился на процессор и вообще не должен был мешать реалтайму.
Точно не помню, но по моему я там делал какие то настройки переводившие Х сервер на стандартные драйвера, правда какие именно не помню, возможно vesаfb, но вроде я пробовал разные.
Но так или иначе это был провал.
Другие люди пишут, да и сам я наблюдал что использоаание интегрированного видео приводит к очень низким латенси и это при том, что по идее интегрированное видео использует обычное ОЗУ что должно мешать работе ОС и приводить к росту латенси.
Это вроде бы опровергает мою версию о влияний на латенси скорости работы видеокарты, но на самом деле подтверждает если посмотреть на блоксхемах как подключена видеокарта По одной блоксхеме видеоядро это часть контролёра ОЗУ, по другой оно сидит за L2 кешем на одной шине с ядрами.
Это очень быстрое подключение к процессору, причём происходящее мимо шины PCI и видимо связанных с ней контролёров, наверное в том числе и контролёра прерываний.
В принципе я получал на более старых ядрах Linux и 128 битном Geforce 250 хороший латенси, но более поздних ядрах этот результат портился, это подталкивало меня к мысли что дело в коде ядра, но я это игнорировал, так как идея подобрать видеокарту была более простой.
С другой стороны если учесть как идёт разработка видеокарт то логично ожидать то, что более старый и более дешёвый Geforce 250 получит портящие реалтайм улучшения посже чем более дорогой и более поздний Geforce 760.
Теперь UAVPilot выдвигает версию
Нельзя ли найти в видеодрайвере код задействующий портящий реалтайм аппаратный функционал и попросту его убрать, оставив всё остальное.
Возможно тоже самое проделать и с драйверами других устройств, таких как дисковый контролёр, сетевые карты, контролёр шины USB?
Как мне помнится включение софтварного рендеринга LIBGL_ALWAYS_SOFTWARE приводило к очень огромному ухудшению латенси, хотя вроде весь рендеринг ложился на процессор и вообще не должен был мешать реалтайму.
Точно не помню, но по моему я там делал какие то настройки переводившие Х сервер на стандартные драйвера, правда какие именно не помню, возможно vesаfb, но вроде я пробовал разные.
Но так или иначе это был провал.
Другие люди пишут, да и сам я наблюдал что использоаание интегрированного видео приводит к очень низким латенси и это при том, что по идее интегрированное видео использует обычное ОЗУ что должно мешать работе ОС и приводить к росту латенси.
Это вроде бы опровергает мою версию о влияний на латенси скорости работы видеокарты, но на самом деле подтверждает если посмотреть на блоксхемах как подключена видеокарта По одной блоксхеме видеоядро это часть контролёра ОЗУ, по другой оно сидит за L2 кешем на одной шине с ядрами.
Это очень быстрое подключение к процессору, причём происходящее мимо шины PCI и видимо связанных с ней контролёров, наверное в том числе и контролёра прерываний.
В принципе я получал на более старых ядрах Linux и 128 битном Geforce 250 хороший латенси, но более поздних ядрах этот результат портился, это подталкивало меня к мысли что дело в коде ядра, но я это игнорировал, так как идея подобрать видеокарту была более простой.
С другой стороны если учесть как идёт разработка видеокарт то логично ожидать то, что более старый и более дешёвый Geforce 250 получит портящие реалтайм улучшения посже чем более дорогой и более поздний Geforce 760.
Теперь UAVPilot выдвигает версию
Если сложить всё в месте то можно предположить что самозахват шины видеокартами происходит только при наличии в их драйвере определённого кода.UAVpilot писал(а):Всякие "серьёзные" видекарты любят сами захватывать шину для общения с памятью, поэтому они как правило только ухудшают ситуацию.
Нельзя ли найти в видеодрайвере код задействующий портящий реалтайм аппаратный функционал и попросту его убрать, оставив всё остальное.
Возможно тоже самое проделать и с драйверами других устройств, таких как дисковый контролёр, сетевые карты, контролёр шины USB?
-
- Мастер
- Сообщения: 1718
- Зарегистрирован: 28 авг 2018, 17:13
- Репутация: 286
- Настоящее имя: Алексей
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Никогда внутрь видеодрайверов не смотрел, но - попросту убрать код из драйвера ) уверен что нельзя. Это же не ардуино, у железки есть свои алгоритмы работы и думаю довольно жёсткие.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2857
- Откуда: Тюмень
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Был уже прецедент, правда не со столь радикальными средствами, как копание в коде драйверов.
Re: Latency-test показания на разных материнских платах #117Сергей Саныч писал(а):Материнка была где-то 2000-2002 года, кажется, EPOX, на чипсете вроде бы VIA. Процессор - Athlon XP 1700 или около этого. Видео Radeon 9600 или что-то похожее, но тоже десятилетней давности. Путем научного шаманства - залез в BIOS setup, в разделе PNP/PCI Setting нашел пункт вроде VGA Interrupt Enable и запретил его. После чего Latency упал примерно с 200000 до 12000-15000.
Чудес не бывает. Бывают фокусы.
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Можно, потому какalex_sar писал(а):Никогда внутрь видеодрайверов не смотрел, но - попросту убрать код из драйвера ) уверен что нельзя.
То есть драйвер пишется не целиком, а по кусочкам, вопрос в том чтобы найти и с минимальной регрессией и последствиями удалить вредный кусок.torvn77 писал(а):С другой стороны если учесть как идёт разработка видеокарт то логично ожидать то, что более старый и более дешёвый Geforce 250 получит портящие реалтайм улучшения посже чем более дорогой и более поздний Geforce 760.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC,показания Latency-test и разрядность шины видео
Любая видеокарта выводит картинку на экран след. образом - просто тупо в цикле копирует содержимое видеобуфера (через DAC) в выдеовыход.
У внешней видеокарты есть своя собственная память и видеобуфер располагается в ней - казалось бы всё замечательно, выводи себе и не мешай работать остальным. Но для общения с системой и используются все эти DMA и IRQ, которые и занимают системные память и шину. Кстати, в некотрых BIOS есть параметр типа "VGA апертура" - это как раз размер куска, пересылаемого за раз. Можно попробовать поменять...
У встроенной видеокарты казалось-бы всё гораздо хуже - видеобуфер-то в системной памяти... А в реальности всё гораздо лучше: как правило циклический вывод видеобуфера встроен в механизм регенерации DRAM и практически не требует ресурсов. И заполнение видеобуфера данными из приложения (кнопки, окошки и т.п.) происходит "естественным" образом - видеобуфер-то в системной памяти...
У внешней видеокарты есть своя собственная память и видеобуфер располагается в ней - казалось бы всё замечательно, выводи себе и не мешай работать остальным. Но для общения с системой и используются все эти DMA и IRQ, которые и занимают системные память и шину. Кстати, в некотрых BIOS есть параметр типа "VGA апертура" - это как раз размер куска, пересылаемого за раз. Можно попробовать поменять...
У встроенной видеокарты казалось-бы всё гораздо хуже - видеобуфер-то в системной памяти... А в реальности всё гораздо лучше: как правило циклический вывод видеобуфера встроен в механизм регенерации DRAM и практически не требует ресурсов. И заполнение видеобуфера данными из приложения (кнопки, окошки и т.п.) происходит "естественным" образом - видеобуфер-то в системной памяти...
Это правильная идея, прерывания от видеокарты актуальны разве что в играх. Только вот не везде это можно отключить.Сергей Саныч писал(а):в BIOS setup, в разделе PNP/PCI Setting нашел пункт вроде VGA Interrupt Enable и запретил его. После чего Latency упал примерно с 200000 до 12000-15000.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...