Использование Rust для написания драйверов устройств (Владислав Шиповский)
24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикер из Сбера, Владислав Шиповкий, поделился докладом "Использование Rust для написания драйверов устройств". Подробно поговорили о поддержке Rust в ядре Linux и о том, как с помощью фреймворка VFIO можно писать драйверы PCI-устройств в пространстве пользователя. Обсудили, насколько Rust вообще готов для такой задачи. 00:38 - О спикере. 01:16 - Эволюция поддержки Rust в ядре Linux. 03:04 - Текущее состояние и технические вызовы Rust. 04:13 - Сравнение C и Rust в ядре Linux. Как Rust интегрируется с ядром Linux? 07:35 - Разбор Arc в ядре Linux. 11:35 - Разбор Mutex в ядре Linux. 14:35 - Разбор Result в ядре Linux. 17:22 - Где смотреть актуальный Rust-код в ядре? 19:02 - Почему мы решили писать на Rust в user space. 19:56 - Что такое FPGA? 20:28 - IOMMU 21:49 - Крейт pci-driver. 22:57 - Инициализация. 24:14 - Крейт pci-id. 25:01 - Binder. Инициализация 2.0. 26:10 - Операции с регистрами. 28:19 - Схема работы контроллера. 29:41 - Крейт io-allocator. 31:17 - Итоговая архитектура. Соединяем все вместе, сравниваем скорость передачи. 35:03 - Дальнейшие шаги. 36:40 - Сообщество Linux Kernel Russia. 38:15 - Вопросы участников. Подробности о докладах и анонсы следующих митапов вы найдете на нашем Хабре https://habr.com/ru/companies/yadro/articles/
24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикер из Сбера, Владислав Шиповкий, поделился докладом "Использование Rust для написания драйверов устройств". Подробно поговорили о поддержке Rust в ядре Linux и о том, как с помощью фреймворка VFIO можно писать драйверы PCI-устройств в пространстве пользователя. Обсудили, насколько Rust вообще готов для такой задачи. 00:38 - О спикере. 01:16 - Эволюция поддержки Rust в ядре Linux. 03:04 - Текущее состояние и технические вызовы Rust. 04:13 - Сравнение C и Rust в ядре Linux. Как Rust интегрируется с ядром Linux? 07:35 - Разбор Arc в ядре Linux. 11:35 - Разбор Mutex в ядре Linux. 14:35 - Разбор Result в ядре Linux. 17:22 - Где смотреть актуальный Rust-код в ядре? 19:02 - Почему мы решили писать на Rust в user space. 19:56 - Что такое FPGA? 20:28 - IOMMU 21:49 - Крейт pci-driver. 22:57 - Инициализация. 24:14 - Крейт pci-id. 25:01 - Binder. Инициализация 2.0. 26:10 - Операции с регистрами. 28:19 - Схема работы контроллера. 29:41 - Крейт io-allocator. 31:17 - Итоговая архитектура. Соединяем все вместе, сравниваем скорость передачи. 35:03 - Дальнейшие шаги. 36:40 - Сообщество Linux Kernel Russia. 38:15 - Вопросы участников. Подробности о докладах и анонсы следующих митапов вы найдете на нашем Хабре https://habr.com/ru/companies/yadro/articles/