Проект bpftime развивает реализацию eBPF, работающую в пространстве пользователя
Представлен проект bpftime, развивающий runtime и виртуальную машину для выполнения обработчиков eBPF в пространстве пользователя. Bpftime позволяет создавать eBPF-сценарии трассировки и вмешательства в работу процессов, реализующие такие возможности, как uprobe и программный перехват всех системных вызовов, работающие целиком в пространстве пользователя. Отмечается, что благодаря исключению лишних переключений контекста bpftime позволяет добиться десятикратного снижения накладных расходов по сравнению с использованием функциональности uprobe и uretprobe, предоставляемой ядром Linux. Кроме того, bpftime значительно упрощает отладку, потенциально может применяться на системах без ядра Linux и не требует расширенных привилегий, необходимых для загрузки eBPF-приложения в ядро....