Тег

eBPF

2 материалов

Nix хотел $ORIGIN прямо в ядре — получил замену загрузчика через eBPF (fzakaria.com)

$ORIGIN — это токен, который говорит загрузчику Linux искать зависимости относительно собственной папки; ld.so поддерживает его уже много лет. Nix хотел, чтобы то же самое умело ядро, — чтобы пакеты перестали жёстко зашивать пути /nix/store. В итоге получилась замена загрузчика через binfmt_misc и eBPF, переопределяющая только PT_INTERP, так что /proc/self/exe по-прежнему указывает на настоящий бинарник.

Быстро всплыла загвоздка: для этого нужны root-права, поскольку в непривилегированном пространстве имён это пока не работает. И один из комментаторов уже собрал похожий трюк в userspace вручную ещё до того, как это стало функцией ядра.

Не просто заголовок — разбор дискуссии

Главные треды HN: факты из обсуждений, разные стороны, голоса инсайдеров. Email, Telegram или RSS.

Веб-сервер компилирует Caddyfile в машинный код и обещает 3x — а тред спросил: 35k qps кому? (su3.io)

Новый режим Caddy-совместимости в zeroserve JIT-компилирует часть директив Caddyfile в eBPF, затем в нативный машинный код и крутит его в цикле событий io_uring: втрое выше пропускная способность и на 70% ниже задержка, чем у Caddy.

Тред не спорил с цифрами — он спорил со смыслом. «Caddy-совместимость минус всё, что важно», написал один, ведь ACME и плагинов нет. Другой посчитал: 35k qps на двух потоках — это оптимизация метрики, которая узким местом никогда и не была.