The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В ядро Linux 5.19 принято около 500 тысяч строк кода, связанного с графическими драйверами, opennews (??), 27-Май-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


57. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +1 +/
Сообщение от Аноним (57), 27-Май-22, 12:42 
на расте строчек в 10 уложились бы
Ответить | Правка | Наверх | Cообщить модератору

62. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (62), 27-Май-22, 13:00 
> на расте строчек в 10 уложились бы

При этом оно бы не компилировалось. Но некомпилировалось бы БЕЗОПАСНО!

Ответить | Правка | Наверх | Cообщить модератору

63. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +2 +/
Сообщение от Анонимemail (63), 27-Май-22, 13:02 
Казалось-бы, при чём тут раст? Параноик?
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

85. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +2 +/
Сообщение от Fracta1L (ok), 27-Май-22, 14:00 
Ему буфер порвало от обиды
Ответить | Правка | Наверх | Cообщить модератору

71. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (33), 27-Май-22, 13:21 
Вывод "Hello, World!" уложилось бы.
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

111. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от uis (ok), 27-Май-22, 16:45 
На расте? Не факт. А на асме вполне.

Метка main, три команды на запись в регистры, системный вызов, возврат и текст.

Три команды можно заменить на одну загрузку в несколько регистров и три констатны в одну строку.
Итого 6 строк.

Ответить | Правка | Наверх | Cообщить модератору

147. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 28-Май-22, 11:56 
А так поржать, вон те простыни вообще код не генерят. Его ровно ноль - пока регистр по факту не задействован. Это лишь декларации формальных сущностей. Которыми потом можно пользоваться где-то в коде. Это не подразумевает ни аллокации каких либо ресурсов, ни потребления памяти, ни генерации какого либо кода.

Просто куча чисел (параметры регистра) заменяемых на текстовые обозначения которые можно потом где-то юзать. А если нигде не юзается - на фазе компила это вообще не фигурирует.

На асме, как минимум макро, тоже наверное можно такое. Это как раз очень эффективно, в том плане что какой-то код и константы в фактическом бинаре будут только когда кто-то решит что-то по факту сделать с вон тем регистром. А еще так по приколу LTO умеет круто коллапсировать повторные вгрузки констант и прочие вещи. На жирном коде ты опупеешь аллокацию регистров трекать, а LTO, вот, помнит что килобайт назад мы уже в R7 вгрузили потребную базу, ща мы дескать от нее мелким смещением оттанцуем - и вот оно, порядочек. Допрешь ли ты сам такое завернуть - ну, на куске в 20 байтов может и допрешь. А в килобайтах потеряешься.

...это тебе мнение того кто смотрел в asm'овый генеренный код, изучая во что разные сишные конструкции могут транслироваться - и как сделать это максимально эффективным.

Ответить | Правка | Наверх | Cообщить модератору

157. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 28-Май-22, 16:32 
> Это лишь декларации формальных сущностей

И что они декларируют? В чем разница между "магическим числом" и "именем из бессмысленных символов"? В количестве использованных символов ascii? Нужен твой любимый libastral, чтобы узнать разницу?

Ответить | Правка | Наверх | Cообщить модератору

160. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 28-Май-22, 23:25 
> И что они декларируют? В чем разница между "магическим числом" и "именем
> из бессмысленных символов"?

Они сами по себе декларируют ... просьбу к ПРЕПРОЦЕССОРУ заменить вон ту, удобную для понимания человеку строку с названием сущностей регистра, на фактическое число, описывающее его свойства (адрес/смещение оного, маску, или что там еще было задумано).

Если в коде нет упоминания этого регистра - ну, препроцессор, конечно, будет жевать весь хидер, но вот ни в какой код это не оттранслируется вообще: если нет текста с упоминанием строки, его и заменять на вон те определения не надо. И откуда бы тут взяться коду или данным при таком раскладе?

В ассемблерных терминах это будет что-то типа кучи EQU, чтоли. В какой код или данные сам по себе EQU транслируется? Его тоже вроде макропроцесор заменяет по мере надобности, но сами по себе более 9000 EQU еще ничего не генерят. Прошу прощения, я на асме ща пишу мало и делаю это в гибридном с сями стиле как asm(), так что если слегка прогнал с EQU (.equ, ... ) сорянчик, в сях можно их определениями пользоваться.

> В количестве использованных символов ascii? Нужен твой любимый libastral, чтобы узнать разницу?

Экспертиза опеннета во всей красе? Спасибо, я не сомневался в вашей квалификации, а именно ее полном отсутствии.

А разница между нами в том что я таки написал эн таких простынок, парясь эффективностью. И потому сильно лучше вашего знаю в какой код и данные (а точнее их отсутствие) это отливается. Такая вот фигня, мистер эксперт.

Ответить | Правка | Наверх | Cообщить модератору

161. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 28-Май-22, 23:44 
> Они сами по себе декларируют

"Экспертиза опеннета во всей красе"

> А разница между нами в том что я таки написал эн таких простынок, парясь эффективностью.

"Экспертиза опеннета во всей красе"

Ответить | Правка | Наверх | Cообщить модератору

168. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 29-Май-22, 11:35 
Я бы сказал, жирнотролль опеннета во всей красе. ЧСХ он таки не предложит более удачных методов делания того же самого - за скудностью своего троллиного умишки, например.
Ответить | Правка | Наверх | Cообщить модератору

169. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 29-Май-22, 11:51 
> ЧСХ он таки не предложит более удачных методов делания того же самого - за скудностью своего троллиного умишки, например.

Было предложено: раскрывайте исходник для генерации или блоб (так как между сгенерированными магическими константами и блобом нет разницы). Ты своим глубоким экспертным умишком отверг эти варианты.
Ты, как эксперт заявляешь, лучше иметь сгенерированный код драйвера размер сравнимым со всем остальным кодом ядра и прочих драйверов.

Ответить | Правка | Наверх | Cообщить модератору

172. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +1 +/
Сообщение от n00by (ok), 29-Май-22, 15:40 
> так как между сгенерированными
> магическими константами и блобом нет разницы

А это смотря для кого. Вот есть такая "магическая константа" 0x90. Что это? Если нет ответа, уймитесь и не лезьте не в своё дело.

Ответить | Правка | Наверх | Cообщить модератору

173. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 29-Май-22, 17:13 
> А это смотря для кого
> "магическая константа"

Магическая, потому что, чтобы узнать для чего эта константа, надо воспользоваться libastral'ом. Или другой воровской магией. Что является уголовно наказуемым магическим действием.

> Если нет ответа, уймитесь и не лезьте не в своё дело.

Если не хотите делится магией, то не называйте эту магию открытой, из открытых источников магии.

Ответить | Правка | Наверх | Cообщить модератору

179. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от n00by (ok), 30-Май-22, 08:32 
>> А это смотря для кого
>> "магическая константа"
> Магическая, потому что, чтобы узнать для чего эта константа, надо воспользоваться libastral'ом.
> Или другой воровской магией. Что является уголовно наказуемым магическим действием.

У меня сроду не было libastral-а, но я знаю, и я такой не один. Так что прекращайте врать.

>> Если нет ответа, уймитесь и не лезьте не в своё дело.
> Если не хотите делится магией, то не называйте эту магию открытой, из
> открытых источников магии.

Она открыта и давно, просто кто-то не обладает необходимыми навыками и потому не может найти.

Ответить | Правка | Наверх | Cообщить модератору

186. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 30-Май-22, 12:49 
> но я знаю

Напиши хотя бы инициализацию графики используя только эти заголовочные файлы с магическими константами. Покажи свое знание.

Ответить | Правка | Наверх | Cообщить модератору

197. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 30-Май-22, 17:49 
> Напиши хотя бы инициализацию графики используя только эти заголовочные файлы с магическими
> константами. Покажи свое знание.

Это не магические константы а описалово регистров железки, лол. Местами конечно они еще оптом меняют значения регистров - но там забавная история, когда даже сами амдшники порой не помнят и не знают почему так: хмырь еще из ати кодивший IP блок уволился i++ лет назад, а его железку или ее кусок копипастой так и таскают.

А процесс взлета современного GPU весьма нетривиальная штука с вгрузкой нескольких внешних фирмварей и потом игры с ними в командную игру, инициализации кучи субблоков, при том см выше как оно бывает.

Ну например AMDшники вгрузив фирмварь SMU какого (отвечает за системные дела/dvfs) когда оно взлетает ему грузят кучу параметров-пожеланий к DVFS и power management/профайлам, а иногда и жесткий оверрайд таблиц VBIOS кастомными, если известно что вендор ж@порук и в вон те модели прошил в VBIOS какой-то хлам с которым оно вообще виснет раз в 15 минут.

Ответить | Правка | К родителю #186 | Наверх | Cообщить модератору

200. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 30-Май-22, 18:35 
> Это не магические константы а описалово регистров железки, лол.
> забавная история, когда даже сами амдшники порой не помнят и не знают

Очень описательная история внутренней кухни описания. Так, как пользователю этого описания инициализировать графику? Нужна ли эта кухня в публичном проекте?

Надо бы еще GPL лицензию прочитать, что там говорится про сгенеренные "исходники" из недоступных исходников. Особенно, когда эти сгенеренные "исходники" из недоступных исходников занимают большую часть кода.

Ответить | Правка | К родителю #197 | Наверх | Cообщить модератору

204. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от n00by (ok), 31-Май-22, 10:02 
>> но я знаю
> Напиши хотя бы инициализацию графики используя только эти заголовочные файлы с магическими
> константами. Покажи свое знание.

В IA32 0x90 это опкод NOP, нет операции. Как видно, разница с блобом есть. Так что оставьте эти манипуляции "слабо", показав незнание.

Ответить | Правка | К родителю #186 | Наверх | Cообщить модератору

196. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 30-Май-22, 17:35 
> Было предложено: раскрывайте исходник для генерации

Фирма AMD генерит хидеры с описанием регистров и полей из HDL исходников чипов. Логично же, там уже есть описание внешнего интерфейса чипа. Вам дать сорцы чипа GPU? LOL :)

> или блоб (так как между сгенерированными магическими константами и блобом нет разницы).

Что за блоб? И что с ним делать? В тех простынках описание регистров, типа смещений, масок полей и т.п. требухи. Это описание - по мере надобности - используется драйвером. Чтобы, внезапно, поменять что-то в том поле вон того регистра, узнав где регистр, сколько битов поле и т.п.

Само это описание - например, пачка #define которое не транслируется ни в какой код и данные покуда драйвер не захочет что-то реально сделать с вот именно этим регистром. Это весьма эффективно - никакого кода и данных покуда кто-то не захочет реально потрогать тот регистр.

> Ты своим глубоким экспертным умишком отверг эти варианты.

Странно что я отверг идиотию от ламо. Сам не понимаю что за фигня. Я так то сам такие простынки умею. Правда HDL сорцы чипов зажимают чота, приходится по даташиту/спекам, в лучшем случае "полуавтоматически" если удалось параметры в машиночитаемом виде сносно сдернуть.

> Ты, как эксперт заявляешь, лучше иметь сгенерированный код драйвера размер сравнимым со
> всем остальным кодом ядра и прочих драйверов.

Я как эксперт заявляю:
1) Это не "код" а "описание параметров регистров".
2) Пачка #define не есть предмет аллокации или кодогенерации сам по себе и весьма эффективно.
3) Блобы и что еще за бред никак не помогут вон тому куску на си узнать по какому смещению интересующий нас регистр, какой ширины вон то битовое поле в нем и т.п..
4) Вы совершенно не рубите в теме но свое ценное мнение имеете.
5) Я таки успешно скроил энное количество сравнимых штук, даже малость доразвив идею, и это даде еще и работает. И я таки очень сильно парился эффективностью этого. Поэтому получше вас знаю где и кого (не)реально обставить.

Ответить | Правка | К родителю #169 | Наверх | Cообщить модератору

199. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 30-Май-22, 18:05 
> Фирма AMD генерит хидеры с описанием регистров и полей из HDL исходников чипов.

Напиши минимальный драйвер по этому "описанию".
Это не описание, это недокументированная функциональность, закрытый API.

> Пачка #define не есть предмет ... кодогенерации

Если что, эти заголовочные файлы - результат кодогенерации.

> Я таки успешно скроил энное количество сравнимых штук

Молодец, но кого из пользователей интересует этот сгенеренный код? Может лучше сразу бинарник?

Ответить | Правка | Наверх | Cообщить модератору

205. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от n00by (ok), 31-Май-22, 10:10 
>> Пачка #define не есть предмет ... кодогенерации
> Если что, эти заголовочные файлы - результат кодогенерации.

Если что, бывает код машинный и код исходный. И хорошо бы уметь понимать из контекста, когда и о чём речь.

Ответить | Правка | Наверх | Cообщить модератору

124. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 27-Май-22, 20:11 
Это как волшебная кнопка сделать за....., только на 10 строчек на расте. Адепты и того, и другого верят, и вера их не ослабевает.
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

131. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (131), 28-Май-22, 06:23 
Чего Вам покоя не дает Rust вы уже или выучите его и начните писать или просто пройдите как один и миллионов других языков когда-то побывавших в новостях.

Уже сколько можно как шило в жопе ей богу ...

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

143. "В ядро Linux 5.19 принято около 500 тысяч строк кода, связан..."  +/
Сообщение от Аноним (-), 28-Май-22, 11:41 
Ага, описалово регистров было бы референсом в сишный инклюд, "это все сишники!!!1111" :)
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру