YADRO x SpbLUG LINUX Kernel Meetup: используем livepatching, RISC-V и memory extender
О митапе
Поймем, как устранить проблему в ядре Linux без перезагрузок. Послушаем про актуальный статус поддержки Linux в процессорной архитектуре RISC-V. А также разберемся, как работает подсистема DMA — и в каких случаях вам пригодится свой вариант драйвера iommu.
Программа
Приветственное слово
Расскажем про планы на дальнейшие Linux Kernel митапы и не только.
Livepatching: «точечные» обновления ядра Linux без перезагрузки
Серверные системы на основе Linux нередко работают нон-стоп в течение месяцев или даже лет. Но как быть, если в ядре выявлены серьезные ошибки и надо их срочно устранить, а обновлять и перезагружать систему долго и дорого? Livepatching, технология «точечных» обновлений ядра Linux, позволяет обойтись не только без перезагрузки, но даже без остановки работающих процессов на значительное время.
Вы узнаете:
• Как с помощью livepatching можно исправить ошибки, приводящие к kernel oops и не только, в том числе security-уязвимости.
• Как можно использовать dynamic Ftrace, чтобы «подменить» часть функций в работающем ядре Linux.
• Каковы особенности и ограничения этой технологии для x86, PowerPC и RISC-V.
• Как грамотно организовать подготовку, тестирование и выпуск livepatch’ей и обойти подводные камни, которые могут встретиться на этом пути.
• И главное — почему это не так сложно, как может показаться.
Перерыв
Участников офлайна будут ждать фуршет и свободное общение.
Архитектура RISC-V и её расширения в Linux
RISC-V развивается и постепенно набирает популярность. Различные производители железа экспериментируют с новой архитектурой, выпуская всё новые и новые процессоры и платы. Параллельно развивается и поддержка RISC-V в экосистеме открытого ПО.
Растущая популярность RISC-V связана в том числе и с возможностью создавать и стандартизировать дополнительные наборы инструкций, так называемые расширения.
Большое количество разнообразных расширений, список которых всё время растёт и меняется от процессора к процессору, не дает заскучать разработчикам ПО. Я расскажу, как архитектура RISC-V и её многочисленные расширения поддерживаются ядром Linux:
• Какие бывают расширения RISC-V.
• Какие из расширений RISC-V поддерживаются ядром Linux и для чего.
• Как ядро Linux может узнать о доступных расширениях RISC-V на процессоре, где оно запущено.
• Как и зачем ядро Linux может поделиться этой информацией с пользовательским ПО.
Пытался передавать данные по высоковольтным проводам. Запускал Linux на медицинском оборудовании и писал WiFi драйвера.
Последние несколько лет запускаю Linux на процессорах ещё до их появления на свет.
Расширяя границы доступной RAM или Создаем свой модуль memory extender
Передо мной встала задача подружить устройство, которому доступно только 32х-битное адресное пространство, с системой, в которой оперативная память расположена за пределами этого диапазона.
На этом примере я покажу и расскажу:
• Как устроена подсистема DMA в ядре Linux и причем тут iommu.
• Как реализовать свой драйвер iommu не имея ни драйвера, ни iommu.
• И зачем вам это может понадобиться.