Из ядра Linux убрали Binder на C — его заменил Rust-драйвер для «миллиардов устройств»
Линус Торвальдс в субботу влил в ядро 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
Комментарии
Войдите, чтобы комментировать.