[Перевод] Почему eBPF-программа работает на одном ядре, а на другом — нет

eBPF давно стал стандартным инструментом для работы с ядром, но на практике быстро выясняется: одна и та же программа может вести себя по-разному на соседних версиях Linux. Причина — в деталях, которые обычно остаются «под капотом»: структурах ядра, их смещениях и способе доступа к данным. В статье разбираемся, откуда берётся эта нестабильность, как работают механизмы вроде CO-RE и BTF и что на самом деле нужно учитывать, чтобы eBPF-код был переносимым и предсказуемым в разных окружениях. Разобраться в eBPF

https://habr.com/ru/companies/otus/articles/1020852/

#eBPF #ядро_Linux #BPF_CORE #переносимость_программ #версии_ядра_Linux #низкоуровневое_программирование #совместимость_систем

Почему eBPF-программа работает на одном ядре, а на другом — нет

В этой статье поговорим о том, как создавать по-настоящему переносимые eBPF-программы. В идеальном мире все системы были бы полностью обновлены, регулярно пропатчены и работали бы на последней версии...

Хабр