LINUX.ORG.RU

AMD опубликовала набор патчей с управлением питанием для GCN 1.2

 , ,


1

3

Выпущен набор патчей технологии PowerPlay к драйверу amdgpu ядра Linux для управления питанием и частотой графического процессора (reclocking). Поддерживаются графические процессоры с архитектурой CGN 1.2 (Radeon 285 Tonga, Fury, Nano и новее). Производительность графического ускорения OpenGL с использованием данных патчей при использовании свободного драйвера radeonsi из состава mesa увеличивается в несколько раз. Стоит напомнить, что для младших моделей семейства Radeon поддержка reclocking была доступна и ранее, а также то, что в перспективе драйвер amdgpu позволит переключать графический драйвер со свободного mesa на проприетарный Catalyst в пользовательском режиме.

>>> Ветка amdgpu-powerplay от Alex Deucher (agd5f)

★★

Проверено: fallout4all ()
Последнее исправление: Wizard_ (всего исправлений: 8)
Ответ на: комментарий от mradermaxlol

Путаница

Mesa != драйвер, как и Catalyst. Mesa - набор библиотек + «драйвера», на деле являющиеся user-space компонентами для доступа к драйверам DRM в ядре. Catalyst - набор ПО, в составе которого также есть набор библиотек + блоб aka драйвер. Т.е. драйверами данные вещи являются не всегда и лишь в последнюю очередь.

Спасибо за пояснение. Я раньше ничего не понимал, а теперь точно знаю, что ничего не понимаю. Всё очень запутано, там драйвер, сям библиотека, все они обнимаются с ядром, блобы-шмобы, швабодка, путаница. Это я не к тому что вы плохо объяснили, а к тому, что ситуация в самом деле не простая.

Camel ★★★★★
()
Ответ на: Путаница от Camel

маньки сами придумывают дырявую классификацию

внезапно обнаруживают, что она дырявая и нелогичная

Ну надо же.

anonymous
()
Ответ на: Путаница от Camel

ситуация в самом деле не простая.

Ой да ладно не простая.

amdgpu - ядрёный драйвер.
mesa - набор библиотек и прослоек для работы софта с драйвером.

меса напрямую в железо вроде ж не стучится?

devl547 ★★★★★
()
Ответ на: комментарий от devl547

меса напрямую в железо вроде ж не стучится?

Стучится, еще как. Драйвера разные, r600, i965, radeonsi. Radeonsi общий драйвер для всех видеокарт, которые новее, чем обслуживаются r600-м, при этом amdgpu ядерный драйвер только у самых новых, GCN 1.2.

Т.е. драйвер в user-space для например Tonga - radeonsi, а драйвер ядра - amdgpu.

Displacer ★★
() автор топика
Последнее исправление: Displacer (всего исправлений: 1)
Ответ на: комментарий от devl547

Технически да, но как я понимаю железозависимая часть всё равно остаётся. Всё что можно, лучше выносить из ядра. Понятное дело, что существует механизм системных вызовов и к регистрам напрямую не обратиться, но это не совсем, означает, что драйвер из user-space не работает с железом. Разъясните, если не прав :)

PS: хотя может и к регистрам можно обратиться, через какой-нибудь mmap. Надо исходники смотреть или ждем в обсуждение разработчика конкретного драйвера.

PPS: погрепал исходники mesa, вызовы mmap как минимум присуствуют.

Displacer ★★
() автор топика
Последнее исправление: Displacer (всего исправлений: 2)
Ответ на: комментарий от Displacer

Разъясните, если не прав :)

Как я понимаю, юзерспейсный драйвер формирует command stream для GPU, и отгружает его через DMA. АПИ для DMA и предоставляет прослойка DRM в ядре, но код для GPU формируется полностью в юзерспейсе.

Всё что можно, лучше выносить из ядра.

Не всегда. Вот при текущей архитектуре, насколько я знаю, в ядро приходится встраивать т.н. command stream checkers - парсеры подготовленного юзерспейсом потока команд на предмет их безопасности, чтобы ничего не подвесили. А это оверхед. Хотя иначе пришлось бы llvm в ядро пихать, что ещё хуже. В общем, оно и так и этак плохо. :)

anonymous
()
Ответ на: комментарий от Displacer

С таким определением текстовый редактор тоже работает «напрямую с железом», там не дисковый dma.

anonymous
()
Ответ на: комментарий от anonymous

Хотя иначе пришлось бы llvm в ядро пихать

Это кстати не так. Ядро может запускать вспомогательные процессы с низкими привилегиями - так оно могло бы запускать доверенный компилятор шейдеров, работающий в пространстве пользователя, но не имеющий отношений ни к одному из пользовательских процессов.

abacaba
()
Ответ на: комментарий от anonymous

Если текстовый редактор пишет напрямую в память видеокарты, то да, тоже работает напрямую с железом.

Displacer ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.