Из ядра Linux убрали Binder на C — его заменил Rust-драйвер для «миллиардов устройств»

· Linux и open source
В составе изменений char/misc для ядра Linux 7.4 удалён написанный на C драйвер Binder от Google. Его место окончательно занимает Rust-версия, которая теперь будет работать на всех будущих Android-устройствах.

cover.svg

Линус Торвальдс в субботу влил в ядро Linux 7.4 набор изменений подсистемы char/misc. Самое заметное событие этого цикла — не добавление, а удаление: из ядра ушёл написанный на C драйвер Binder, разработанный Google. Его роль полностью переходит к современной реализации на языке Rust.

Об этом предупреждали ещё в сентябре, когда соответствующий патч только обсуждался. C-реализация драйвера межпроцессного взаимодействия Binder за годы развития Android сильно разрослась и стала, по характеристике разработчиков, «болезненной для сопровождающих» — сложной в поддержке. Rust-версия, напротив, успела созреть.

Первый заметный Rust-драйвер в ядре

Binder на Rust — самый известный ранний пример драйвера на этом языке в ядре Linux. К моменту удаления C-версии он не только достиг паритета по возможностям с оригиналом, но и в ряде тестов обгоняет его по производительности. Отныне именно Rust-реализация становится единственным направлением развития этого механизма IPC для Android со стороны Google.

Грег Кроа-Хартман в сопроводительном письме к pull-запросу char/misc отметил: удалён C-код Binder, Rust-версия стабильна и будет использоваться дальше «на нескольких миллиардах устройств». Он поблагодарил разработчиков за проделанную работу.

Помимо этого, набор изменений char/misc включает множество обновлений драйверов IIO и ряд мелких исправлений в разных драйверах.


Источник: Phoronix

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.