Патчи для ускорения MESA в ситуациях, когда производительность ограничена CPU
Кристиан Хогсберг (Kristian Høgsberg), создатель проекта Wayland, также известный своими наработками по обеспечению поддержки GPU, используемых в процессорах Intel семейства Skylake, представил серию патчей, которые могут заметно ускорить работу MESA в ситуациях, когда скорость работы ограничена производительностью CPU. Изменения в основном сводятся к оптимизации реализации мьютексов. Хотя в pthreads и есть достаточно неплохая реализация, исследование показало, что, в целом, накладные расходы в ряде ситуаций могут оказаться достаточно ощутимыми. В результате разработчик подготовил оптимизированный вариант реализации с мьютексами, избегающий в ряде ситуаций выполнения системных вызовов (syscalls). Любопытным фактом является то, что новая реализация мьютексов основана на описании, фигурирующем в книге Ульриха Дреппера «Futexes Are Tricky». Отмечается, что в ряде случаев, когда CPU является узким местом, увеличение производительности может составить до 10%.
© OpenNet