Вообще не было изменений modline: не было изменения частоты, разрешения экрана, не было suspend/resume или запуска чего-то нагружающего видеокарту
Модлайн не всегда берется системный. Для eDP вообще редко. Он вычитывается из пресетов VBT ("The contents of the VBT are independent of the driver or kernel version") или напрямую из EDID / DDC матрицы. Вы его может быть и не меняли, а вот "положили" вам его, видимо, вполне хорошо. Бывают девайсы (мониторы, панели, телевизоры, ...) у которых EDID вообще отсутствует или битый - в смысле прописанный там модлайн взят хз откуда, но данному девайсу не подходит. Как бэ тут драйверу законно сносит крышак в виде артефактов, отсутствия изображения и т.п., потому как угадать он его не может, если он не совместим с каким-либо из стандартов: CVT, GTF, RBT, RBT2, ...
Не то, чтобы я всё это защищал, но тут рыло в пуху не только у вендора GPU.
Да-да. Прерывание об ошибке display engine само по себе появляется. А если серьёзно, регулярно его встречал при отладке раннего кода порта этого драйвера, сценарий уже описал. То, что ошибка не всехда приводит к видимым эффектами не значит, что её нет. Есть негласное правило компенсации 5-10% погрешностей modeline, вполне вероятно, что в конкретно этом сценарии не превысили и матрица компенсировала. А там, где замерцало модлайн попался не самый удачный.
Самого чипа видеокарты
Путаете чип (Hard) с драйвером (soft)? В коде драйвера бинарных закладок, кроме перечисленных мною, нет. DC, PMU, 2D и 3D реализуются на открытых исходных кодах. Блоб в драйвере это firmware, чьего исходника в опенсорсе нет. Внутренний микрокод контроллера таковым не является и присутствует в том или ином виде в любом контроллере.
Найдёте в коде драйвера i915 блоб, приведите ссылку. Как-то за более чем 10 лет его портировния в разные ОС так и не увидел. Управление питанием там также реализовано, как в виде различных профилей, так и в виде отключения отдельных блоков.
Эта ошибка говорит о том, что pipe контроллера дисплея настроен не верно. 50/50 режим установится или нет. Наиболее часто встречается у DP / eDP портов ввиду link train процедуры. А поскольку вы говорите о ноутбуках, это 100% eDP.
Но главное: у драйвера i915 нет обязательных блобов, все опциональные и в этом смысле код чист. GuC, HuC, etc на работоспособность не влияют. Отсюда, постоянное их упоминание в статье выглядит не профессионально как минимум.
Скрытый текст
P. S. Времена патчей KDE под FreeBSD с появлением LinuxKPI вернулись, welcome
Вопрос образования не является в ней единственным и проходит тонкой линией через многие главы. Потому ссылку на страницу дать не могу, но и работа не очень большая.
Смешно и одновременно грустно читать этот опус от представителя сразу двух ключевых акторов, приложивших максимальное усилие к деградации института образования в стране. Выводы:
Бауманка тут попала под раздачу случайно
Новые "строители" образования в стране - это старые строители. Они не угомонились.
По существу вопроса лучше всех высказался Э. Тодд в недавней работе. Разделяю его анализ, разве что в контексте не РФ, а мировом, чьи болезни мы полностью унаследовали.
Принимают, вопрос не в анализаторе как таковом. На нашем опыте проблемс был лишь в отсутствии у лаборатории самого инструмента, т.к. ради заявителя коммерческая компания (ака лаба) раскошеливаться на тулы не собирается. Что и логично, с чего бы вдруг. С привлечением коллег из PVS ситуацию оперативно урегулировали.
Процессы могут иметь общую память: shm_open() / POSIX. Никакой сериализации для этого не требуется, разве что синхронизация на уровне IPC. Если же разработчики py-модуля в это не смогли - это исключительно их решения и дизайн.
Других референсных реализаций драйверов с открытым кодом от вендора в природе не существует. Доки есть не у всех из них, в большей части спецух информация недостаточна, а платформозависисые вставки выдумать невозможно. Так, если вендор говорит сбрасывать кэш такой-то инструкцией и тремя NOP-ами, значит так и никак иначе.
Я - это последняя буква в алфавите. И для выражения собственного мнения нужно обладать правом его продвигать. Первая ссылка ведет конкретно на курс Berkeley, прекращайте имитировать осведомленность.
Вы считаете что сотрудники некоторого подразделения Газпрома, например, не должны иметь собственного определения такого термина?
Вот с этого и нужно было начать. Так бы сразу и сказали, что попилом бабла занимаетесь =). С шарлатанами мне обсуждать нечего, сочувствую Газпрому.
А если это вдруг прочитают вменяемые участники Хабра, то наука, определения, алфавит наконец не может быть свой собственный у каждой компании и тем более у каждого подразделения. Только единое предстваление, стремящийся к объективному истинному соответствию реальности. Истин не может быть несколько, но ее понимание может эволюционировать - см. фальсифицируемость научного знания (по Попперу).
Все, что тут расписано прямо каноничное определение лженауки:
Отрицание классических трудов, да и любых трудов в принципе;
Отрицание существования предшествующего научного знания;
Выдумывание собственной терминологии - это прямо по учебнику. Когда в Союзе хотели липовых степеней известным явлениям давали новые имена, чтобы имитировать новизну;
Ну и конечно же, за плату наука у любой шараги должны быть своя! "Преемственность" научного знания в действии =).
Бог с вами, за вас тут сильно просят аж в нескольких ветках обсуждения.
Раз вы признаете авторство на заявление, вы бы просто на вопрос ответили: раз есть хоть какой-то знак равенства то почему же их не спутать?
Процитированный фрагмент я нигде не утверждал, это ваши домыслы. В точных науках есть только строгое терминологическое равенство, а "нет строгого равенства" есть лишь лингвистический оборот. Между этими видами систем не может быть никакого равенства вообще, так как существуют и не взаимоисключают друг друга:
- Real-Time Systems, которые не являются Embedded, - Embedded Systems, которые не являются Real-Time, - Real-Time Embedded Systems - которые являются и тем и другим.
Какими признаками обладают и те и другие можно понять, все-таки познакомившись с процитированными материалами. Последние встречаются достаточно часто и многие заблуждаются, считая, что это единственная данность. Если и так не понятно, то я прям совсем не знаю.
P.S. У системных программистов есть и другие типичные заблуждения: не все понимают что такое виртуальная память и что такое аппаратные исключения.
Если мы добавляем функциональность в модуль ядра ОС, то наверно почти любая ОС становится реального времени
Почему это? Вот есть ядро LInux, которое имеет все, о чем Вы пишете. А вот real-time patch для этого ядра. Что-то тут не сходится, не находите? Видимо, все-таки не любая ОС, а лишь те, которые проектируются под real-time.
Живите с этим знанием =). Культура определяется окружением и степенью развития. Для одних прилично одно, у других планка ниже и допустимо в первой же статье на ресурсе пытаться оскорбить оппонента и увековечивать корешей. Опять-таки, ну ок, в интернетах каких только не встретишь!
Недавно один паренек у нас на фирме попросил посмотреть его наработки по диссертации. Они с научником около года курили класс задач, где делаются снимки некоего дефекта металла на срезе с высоким разрешением и анализируют что было и что стало с его (металла) структурой. Не знаю что они там исследуют на практике, речь шла о методе выявления структурных изменений материи - построение сеток по сырой фотке. Хлопцы сочинили какой-то новый метод, но сравнивали его со своим же более ранним методом и получали 5-ти кратное улучшение. В итоге, исходный метод оказался кхе-кхе-вном => результирующий метод оказался лишь в 5ть раз более кхе-кхе-внистый, а не в 5ть раз лучше чего-то.
К чему это всй сказано:
> вместо того чтобы аргументированно что то предложить
Чтобы что-то предложить, авторский подход должен сравниваться не со своими фантазиями, а с реальными достижениями коллег, о которых есть хоть какие-то независимые сведения. И выполнить это должен автор, чтобы доказать, что на предложения по улучшению его подходов вообще стоит тратить время.
А так мы имеем - автор ничего не читал, но утверждает, что все инженеры, которые ранее эту задачу решали - дебилы. Ну ок, че! Но и общаться под таким соусом не о чем.
Вы напрасно ввязались в дискуссию именно на этом примере, он ущербен по своей сути (последующее Ваше сообщение от этого свободно). Стриминг и кодирование/декодирование видео крайне редко являются реалтаймовыми задачами. Как и внутри-системная подкачка данных при всяческих играх и 3D-моделировании. Пропуск кадра или нескольких в подавляющем большинстве случаев не приводит к фатальным обще-системным последствиям. Так, просматривая киношку легко можно не заметить пропуска кадра, поскольку и среда передачи и универсализация средств воспроизведения (aka транслируемую киношку должно производить любое оборудование, независимо от его производительности) априори закладывают необходимость во встроенных средствах регенерации потока в условиях неизбежности потерь. Дублирование кадров и даже пропуск совершенно типичное явление, которое просто нежелательно, но никак не критическое.
Автор осознанно или неосознанно об этом и сам говорит, апеллируя к soft real-time системам. Науке и промышленности такие системы как минимум не интересны и как максимум вредны. Уже давно никто в здравом уме не заморачивается прикручиванием особых программных или аппаратных средств (плюс, соответствующего мат. аппарата для их анализа) для решения задач, в которых всем пИливать на собственно реалтаймовость (aka предсказуемость). Если можно взять банальный Linux для тех же задач, то накой городить огород? Лет так дцать назад бытовало мнение, что этот самый нестрогий реалтайм ввели в обиход из маркетологических соображений. Кто знает, может и так.
Обратный пример, когда эта задача может действительно стать реалтаймовой - добыча алмазов из сырой породы. На конвейере проносится сырая руда, которая посредством скоростной камеры (м.б. рентгеновской, х.з. не мой профиль) контролируется на предмет артефактов. Фактически тут есть и видео поток и недопустимость потерь = реалтаймовая обработка видео. Никакой soft real-time тут использовать нельзя. Только по жести и только по hard-у.
Где картинка от джойстика не может отставать более чем на несколько десятков мс, и звук соответственно тоже
Да может. Выкинули пару кадров и картинка догнала реальность. Вы когда музыку слушали - "карканье" встречали? Вот это оно самое - пропуск буфера, который не успел. В противном случае вы бы в этот момент слышали ра-а-астянутый по времени, но целостный по своей сути звук. И вот это был бы трушный реалтаймовый эксприенс (как нынче модно говорить). С рендерингом это продемонстрировать сложнее, но тоже можно.
Раз вы признаете авторство на заявление, вы бы просто на вопрос ответили: раз есть хоть какой-то знак равенства то почему же их не спутать?
Вы не мой студент, не мой подчиненный, чтобы иметь интерес заниматься вашим образованием. Не удосужились осмыслить приведенные определения, не удосужились корректно и вежливо дискутировать. И ответ на свой вопрос вы бы уже могли найти из предыдущего сообщения, если бы хотели. Зачем мне заниматься разжевыванием и изложением другими словами?
А по-другому статья, в которой через слово упоминается "благодарность Антону", восприниматься не может. В приличном обществе одним именем именуют либо близких знакомых, либо к родственников.
Модлайн не всегда берется системный. Для eDP вообще редко. Он вычитывается из пресетов VBT ("The contents of the VBT are independent of the driver or kernel version") или напрямую из EDID / DDC матрицы. Вы его может быть и не меняли, а вот "положили" вам его, видимо, вполне хорошо. Бывают девайсы (мониторы, панели, телевизоры, ...) у которых EDID вообще отсутствует или битый - в смысле прописанный там модлайн взят хз откуда, но данному девайсу не подходит. Как бэ тут драйверу законно сносит крышак в виде артефактов, отсутствия изображения и т.п., потому как угадать он его не может, если он не совместим с каким-либо из стандартов: CVT, GTF, RBT, RBT2, ...
Не то, чтобы я всё это защищал, но тут рыло в пуху не только у вендора GPU.
Да, это блобы. Но я о них написал вам в самом первом сообщении: "GuC, HuC, etc на работоспособность не влияют":
DMC - Display MicroController firmware provides support for advanced graphics low-power idle states
GuC / HuC - альтернативный механизм передачи команд CPU->GPU / опциональные ништяки для HEVC / H.265
В своих портах я их тупо не гружу и проблем не наблюдаю.
У тех же AMD, например, прошивка как раз безальтернативна и вокруг неё всё и строится, и вот тут бы я спорить не стал.
Да-да. Прерывание об ошибке display engine само по себе появляется. А если серьёзно, регулярно его встречал при отладке раннего кода порта этого драйвера, сценарий уже описал. То, что ошибка не всехда приводит к видимым эффектами не значит, что её нет. Есть негласное правило компенсации 5-10% погрешностей modeline, вполне вероятно, что в конкретно этом сценарии не превысили и матрица компенсировала. А там, где замерцало модлайн попался не самый удачный.
Путаете чип (Hard) с драйвером (soft)? В коде драйвера бинарных закладок, кроме перечисленных мною, нет. DC, PMU, 2D и 3D реализуются на открытых исходных кодах. Блоб в драйвере это firmware, чьего исходника в опенсорсе нет. Внутренний микрокод контроллера таковым не является и присутствует в том или ином виде в любом контроллере.
Найдёте в коде драйвера i915 блоб, приведите ссылку. Как-то за более чем 10 лет его портировния в разные ОС так и не увидел. Управление питанием там также реализовано, как в виде различных профилей, так и в виде отключения отдельных блоков.
Эта ошибка говорит о том, что pipe контроллера дисплея настроен не верно. 50/50 режим установится или нет. Наиболее часто встречается у DP / eDP портов ввиду link train процедуры. А поскольку вы говорите о ноутбуках, это 100% eDP.
Но главное: у драйвера i915 нет обязательных блобов, все опциональные и в этом смысле код чист. GuC, HuC, etc на работоспособность не влияют. Отсюда, постоянное их упоминание в статье выглядит не профессионально как минимум.
Скрытый текст
P. S. Времена патчей KDE под FreeBSD с появлением LinuxKPI вернулись, welcome
Да, извините. Речь вот об этой работе.
https://www.amazon.com/Défaite-lOccident-Emmanuel-Todd/dp/2073041132
Вопрос образования не является в ней единственным и проходит тонкой линией через многие главы. Потому ссылку на страницу дать не могу, но и работа не очень большая.
Смешно и одновременно грустно читать этот опус от представителя сразу двух ключевых акторов, приложивших максимальное усилие к деградации института образования в стране. Выводы:
Бауманка тут попала под раздачу случайно
Новые "строители" образования в стране - это старые строители. Они не угомонились.
По существу вопроса лучше всех высказался Э. Тодд в недавней работе. Разделяю его анализ, разве что в контексте не РФ, а мировом, чьи болезни мы полностью унаследовали.
Какой-то испанский стыд. В поиске по запросу "goalkicker" этот пост вообще не выдаётся.
Либо чтобы дебилы не занимались важными вопросами
Принимают, вопрос не в анализаторе как таковом. На нашем опыте проблемс был лишь в отсутствии у лаборатории самого инструмента, т.к. ради заявителя коммерческая компания (ака лаба) раскошеливаться на тулы не собирается. Что и логично, с чего бы вдруг. С привлечением коллег из PVS ситуацию оперативно урегулировали.
Процессы могут иметь общую память: shm_open() / POSIX. Никакой сериализации для этого не требуется, разве что синхронизация на уровне IPC. Если же разработчики py-модуля в это не смогли - это исключительно их решения и дизайн.
Других референсных реализаций драйверов с открытым кодом от вендора в природе не существует. Доки есть не у всех из них, в большей части спецух информация недостаточна, а платформозависисые вставки выдумать невозможно. Так, если вендор говорит сбрасывать кэш такой-то инструкцией и тремя NOP-ами, значит так и никак иначе.
Занятно. Товарисч толкает "умно"трон в массы, а доказывать его состоятельность требует от других. Даже советует. Я ничего не пропустил?
Я - это последняя буква в алфавите. И для выражения собственного мнения нужно обладать правом его продвигать. Первая ссылка ведет конкретно на курс Berkeley, прекращайте имитировать осведомленность.
Вот с этого и нужно было начать. Так бы сразу и сказали, что попилом бабла занимаетесь =). С шарлатанами мне обсуждать нечего, сочувствую Газпрому.
А если это вдруг прочитают вменяемые участники Хабра, то наука, определения, алфавит наконец не может быть свой собственный у каждой компании и тем более у каждого подразделения. Только единое предстваление, стремящийся к объективному истинному соответствию реальности. Истин не может быть несколько, но ее понимание может эволюционировать - см. фальсифицируемость научного знания (по Попперу).
Все, что тут расписано прямо каноничное определение лженауки:
Отрицание классических трудов, да и любых трудов в принципе;
Отрицание существования предшествующего научного знания;
Выдумывание собственной терминологии - это прямо по учебнику. Когда в Союзе хотели липовых степеней известным явлениям давали новые имена, чтобы имитировать новизну;
Ну и конечно же, за плату наука у любой шараги должны быть своя! "Преемственность" научного знания в действии =).
Бог с вами, за вас тут сильно просят аж в нескольких ветках обсуждения.
Процитированный фрагмент я нигде не утверждал, это ваши домыслы. В точных науках есть только строгое терминологическое равенство, а "нет строгого равенства" есть лишь лингвистический оборот. Между этими видами систем не может быть никакого равенства вообще, так как существуют и не взаимоисключают друг друга:
- Real-Time Systems, которые не являются Embedded,
- Embedded Systems, которые не являются Real-Time,
- Real-Time Embedded Systems - которые являются и тем и другим.
Какими признаками обладают и те и другие можно понять, все-таки познакомившись с процитированными материалами. Последние встречаются достаточно часто и многие заблуждаются, считая, что это единственная данность. Если и так не понятно, то я прям совсем не знаю.
P.S. У системных программистов есть и другие типичные заблуждения: не все понимают что такое виртуальная память и что такое аппаратные исключения.
Почему это? Вот есть ядро LInux, которое имеет все, о чем Вы пишете. А вот real-time patch для этого ядра. Что-то тут не сходится, не находите? Видимо, все-таки не любая ОС, а лишь те, которые проектируются под real-time.
Живите с этим знанием =). Культура определяется окружением и степенью развития. Для одних прилично одно, у других планка ниже и допустимо в первой же статье на ресурсе пытаться оскорбить оппонента и увековечивать корешей. Опять-таки, ну ок, в интернетах каких только не встретишь!
Недавно один паренек у нас на фирме попросил посмотреть его наработки по диссертации. Они с научником около года курили класс задач, где делаются снимки некоего дефекта металла на срезе с высоким разрешением и анализируют что было и что стало с его (металла) структурой. Не знаю что они там исследуют на практике, речь шла о методе выявления структурных изменений материи - построение сеток по сырой фотке. Хлопцы сочинили какой-то новый метод, но сравнивали его со своим же более ранним методом и получали 5-ти кратное улучшение. В итоге, исходный метод оказался кхе-кхе-вном => результирующий метод оказался лишь в 5ть раз более кхе-кхе-внистый, а не в 5ть раз лучше чего-то.
К чему это всй сказано:
> вместо того чтобы аргументированно что то предложить
Чтобы что-то предложить, авторский подход должен сравниваться не со своими фантазиями, а с реальными достижениями коллег, о которых есть хоть какие-то независимые сведения. И выполнить это должен автор, чтобы доказать, что на предложения по улучшению его подходов вообще стоит тратить время.
А так мы имеем - автор ничего не читал, но утверждает, что все инженеры, которые ранее эту задачу решали - дебилы. Ну ок, че! Но и общаться под таким соусом не о чем.
То есть вы и отвечать за автора будете?
Вы напрасно ввязались в дискуссию именно на этом примере, он ущербен по своей сути (последующее Ваше сообщение от этого свободно). Стриминг и кодирование/декодирование видео крайне редко являются реалтаймовыми задачами. Как и внутри-системная подкачка данных при всяческих играх и 3D-моделировании. Пропуск кадра или нескольких в подавляющем большинстве случаев не приводит к фатальным обще-системным последствиям. Так, просматривая киношку легко можно не заметить пропуска кадра, поскольку и среда передачи и универсализация средств воспроизведения (aka транслируемую киношку должно производить любое оборудование, независимо от его производительности) априори закладывают необходимость во встроенных средствах регенерации потока в условиях неизбежности потерь. Дублирование кадров и даже пропуск совершенно типичное явление, которое просто нежелательно, но никак не критическое.
Автор осознанно или неосознанно об этом и сам говорит, апеллируя к soft real-time системам. Науке и промышленности такие системы как минимум не интересны и как максимум вредны. Уже давно никто в здравом уме не заморачивается прикручиванием особых программных или аппаратных средств (плюс, соответствующего мат. аппарата для их анализа) для решения задач, в которых всем пИливать на собственно реалтаймовость (aka предсказуемость). Если можно взять банальный Linux для тех же задач, то накой городить огород? Лет так дцать назад бытовало мнение, что этот самый нестрогий реалтайм ввели в обиход из маркетологических соображений. Кто знает, может и так.
Обратный пример, когда эта задача может действительно стать реалтаймовой - добыча алмазов из сырой породы. На конвейере проносится сырая руда, которая посредством скоростной камеры (м.б. рентгеновской, х.з. не мой профиль) контролируется на предмет артефактов. Фактически тут есть и видео поток и недопустимость потерь = реалтаймовая обработка видео. Никакой soft real-time тут использовать нельзя. Только по жести и только по hard-у.
Да может. Выкинули пару кадров и картинка догнала реальность. Вы когда музыку слушали - "карканье" встречали? Вот это оно самое - пропуск буфера, который не успел. В противном случае вы бы в этот момент слышали ра-а-астянутый по времени, но целостный по своей сути звук. И вот это был бы трушный реалтаймовый эксприенс (как нынче модно говорить). С рендерингом это продемонстрировать сложнее, но тоже можно.
Вы не мой студент, не мой подчиненный, чтобы иметь интерес заниматься вашим образованием. Не удосужились осмыслить приведенные определения, не удосужились корректно и вежливо дискутировать. И ответ на свой вопрос вы бы уже могли найти из предыдущего сообщения, если бы хотели. Зачем мне заниматься разжевыванием и изложением другими словами?
А по-другому статья, в которой через слово упоминается "благодарность Антону", восприниматься не может. В приличном обществе одним именем именуют либо близких знакомых, либо к родственников.