Найти тему
Games4Linux

Разработчик Wine Зебедия Фигура предлагает подумать над интерфейсом ядра Linux для примитивов синхронизации Wine

Один из разработчиков Wine, Зебедия Фигура, разослал письмо с просьбой обсудить новый интерфейс ядра, который позволил бы реализовать Windows NT API объекта синхронизации с не более чем одним системным вызовом на операцию без управления состоянием объекта в управляемой пользователем общей памяти для повышения производительности. Он надеется получить мнения других разработчиков относительно того, как должен выглядеть такой API и будет ли он принят.

В данном письме, Зебедия Фигура рассказывает о предпосылках, которые сподвигли написать данное письмо - о проблемах связанных с использованием нескольких потоков. Так же он написал о разработке им esynс, а затем улучшенной версии - fsync, которые повышали производительность в некоторых играх, а так же о проблемах с их использованием.

Далее, он пишет о требованиях, предъявляемых к интерфейсу, чтобы дать представление о том, что действительно нужно разработчикам Wine. Зебедия Фигура описал поведение примитивов Windows NT, которым они пытаются подражать, а так же проблему, чтобы можно было найти какое-то решение, которое не потребует изменений ядра. Он также расписал почему нельзя обойтись существующими инструментами и предложил конкретный интерфейс, который, как ему кажется, больше всего подходит и он просит его обсудить.

В заключении, прилагаются тесты, которые свидетельствуют о улучшении производительности при помощи ESYNC.

Текст данного письма находится по ссылке.