Использование 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/ 📚 Дополнительные материалы ✅ Хабр: · DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU https://habr.com/ru/companies/yadro/articles/1019906/ · Аппаратные брейкпойнты: для чего они нужны и как устроены в Linux https://habr.com/ru/companies/yadro/articles/968072/ · Обход стека в ядре Linux для RISC-V: разбираем и чиним https://habr.com/ru/companies/yadro/articles/990466/ 🎧 Послушать: · Подкаст «Битовые маски» с Дмитрием Точанским. Архитектура ядра Linux. ЦОС и DSP-процессоры. Linux для RISC-V https://engineer.yadro.com/podcast/arhitektura-yadra-linux/ · Подкаст «Битовые маски» с Алексеем Бродкиным. Операционные системы. Linux. Zephyr. HAL и BSP. ARC-V https://engineer.yadro.com/podcast/operating-systems/
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/ 📚 Дополнительные материалы ✅ Хабр: · DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU https://habr.com/ru/companies/yadro/articles/1019906/ · Аппаратные брейкпойнты: для чего они нужны и как устроены в Linux https://habr.com/ru/companies/yadro/articles/968072/ · Обход стека в ядре Linux для RISC-V: разбираем и чиним https://habr.com/ru/companies/yadro/articles/990466/ 🎧 Послушать: · Подкаст «Битовые маски» с Дмитрием Точанским. Архитектура ядра Linux. ЦОС и DSP-процессоры. Linux для RISC-V https://engineer.yadro.com/podcast/arhitektura-yadra-linux/ · Подкаст «Битовые маски» с Алексеем Бродкиным. Операционные системы. Linux. Zephyr. HAL и BSP. ARC-V https://engineer.yadro.com/podcast/operating-systems/




