The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"В состав GCC принят бэкенд для компиляции в eBPF"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от opennews (?), 09-Сен-19, 23:26 
В состав набора компиляторов GCC принят код для компиляции программ для встроенного в ядро Linux интерпретатора байткода eBPF.  Благодаря применению JIT-компиляции, в ядре байткод на лету транслируется в машинные инструкции и выполняется с производительностью нативного кода. Патчи с поддержкой eBPF приняты в ветку, на основе которой развивается выпуск GCC 10...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=51457

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "В состав GCC принят бэкенд для компиляции в eBPF"  –2 +/
Сообщение от Бэтман (?), 09-Сен-19, 23:26 
Все хорошо. Вот только писать eBPF программы вообще не тривиальное занятие. Может знатоки какой фреймворк подскажут?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "В состав GCC принят бэкенд для компиляции в eBPF"  –2 +/
Сообщение от Аноним (3), 09-Сен-19, 23:52 
Cython он не про это но лучше юзай его)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

20. "В состав GCC принят бэкенд для компиляции в eBPF"  –1 +/
Сообщение от Аноним (20), 10-Сен-19, 10:05 
А Cython может в eBPF компилировать?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

29. "В состав GCC принят бэкенд для компиляции в eBPF"  –2 +/
Сообщение от Аноним (29), 10-Сен-19, 12:27 
Нет это фреймворк похожий на питон который делает быстрый код.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

11. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от null (??), 10-Сен-19, 08:06 
Пиши на подмножестве C (без циклов) и получай на выходе байткод eBPF. Новость как раз об этом.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

41. "В состав GCC принят бэкенд для компиляции в eBPF"  –1 +/
Сообщение от Аноним (-), 11-Сен-19, 16:47 
Нет никаких подмножеств. Есть Чистый Си, и есть уже несовместимый с ним C++
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

19. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (20), 10-Сен-19, 10:04 
Вероятно, со временем добавят возможность писать на подмножестве C++
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

32. "В состав GCC принят бэкенд для компиляции в eBPF"  –1 +/
Сообщение от X4asd (ok), 10-Сен-19, 16:23 
> Вероятно, со временем добавят возможность писать на подмножестве C++

зачем

  

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

34. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от grsec (ok), 10-Сен-19, 17:23 
вот так
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

42. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от X4asd (ok), 11-Сен-19, 19:12 
> вот так

и всё же

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

38. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от nobody (??), 11-Сен-19, 12:00 
Было бы неплохо. В GPU шейдеры - уже
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

26. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (26), 10-Сен-19, 11:02 
> Вот только писать eBPF программы вообще не тривиальное занятие.

в машинных кодах тоже непросто, для этого языки высокого уровня придумали

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

30. "В состав GCC принят бэкенд для компиляции в eBPF"  –3 +/
Сообщение от Аноним (29), 10-Сен-19, 12:29 
Как раз таки в машинных кодах достаточно просто, но муторно. Кстати в машинных кодах отлично получаются высоконагруженные парсеры.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

2. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (3), 09-Сен-19, 23:50 
Не верю что с разными версиями ядра такие приложения будут работать одинаково.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "В состав GCC принят бэкенд для компиляции в eBPF"  +1 +/
Сообщение от anonymous (??), 10-Сен-19, 00:20 
Зависит от приложения, но многое покрывается тем, что для сборки требуются хедеры целевого ядра. Соответственно если скомпилится, то наверняка будет работать.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

21. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (20), 10-Сен-19, 10:10 
Естесственно, это же достаточно низкоуровневая обработка пакетов и прочего. Для большего абстрагирования от версий ядра есть nftables.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (4), 09-Сен-19, 23:56 
Ура, наконец-то можно пихать проприетарщину в кернелмод!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "В состав GCC принят бэкенд для компиляции в eBPF"  +5 +/
Сообщение от Аноним84701 (ok), 10-Сен-19, 00:11 
> Ура, наконец-то можно пихать проприетарщину в кернелмод!

Не только проприертарщину:
https://twitter.com/bleidl/status/943714277403357185
> Pour one out for this really nice Linux kernel bugdoor that P0 killed a few hours ago. Straight up unlimited R/W to all kernel memory via ebpf verifier bypass. One of the best/worst Linux kernel vulns of all time

https://lwn.net/Articles/742170/
:)

Сложные компоненты, да еще и с JIT, транслирующие высокоуровневый код из юзерспейса в машинный код для загрузки в ядро, такая вот штука.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

22. "В состав GCC принят бэкенд для компиляции в eBPF"  +1 +/
Сообщение от Аноним (20), 10-Сен-19, 10:12 
Если сам себе враг, то пихай.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

23. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (20), 10-Сен-19, 10:51 
Штеуд с МЕ, деадушку уже обул. Точнее сказать.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

6. "В состав GCC принят бэкенд для компиляции в eBPF"  –3 +/
Сообщение от Аноним (6), 10-Сен-19, 00:10 
Пробовал я клангом. К костыльному языку костыли приделали. Первая же variable-length структура сводит мозг их верификатору, но клангу до этого нет дела, он похоже вообще на знает про верификатор. С гцц наверняка будет похожая история.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "В состав GCC принят бэкенд для компиляции в eBPF"  –2 +/
Сообщение от Аноним (10), 10-Сен-19, 07:34 
> Патчи для поддержи eBPF в GCC подготовлены инженерами из компании Oracle

jvm будут трансилровать в eBPF небось

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "В состав GCC принят бэкенд для компиляции в eBPF"  +2 +/
Сообщение от Аноним (-), 10-Сен-19, 08:34 
и таких как ты тут 99%
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "В состав GCC принят бэкенд для компиляции в eBPF"  +1 +/
Сообщение от Andrey Mitrofanov_N0 (??), 10-Сен-19, 08:49 
> и таких как ты тут 99%

В глубокой заморозке-то??

02.05.2017 21:09
   GCC 7.1 примечателен удалением из состава компилятора для языка Java,
https://www.opennet.ru/opennews/art.shtml?num=46487

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

24. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (20), 10-Сен-19, 10:55 
Виртуальную машину JS напишут на eBPF. Вот тогда-то макаки заживут. Electron, Node.js - всё есть прямо в ядре. :)
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

28. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от НяшМяш (ok), 10-Сен-19, 11:33 
Ох как будет гореть у гошников и явистов в юзерспейсе! /sarcasm
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

33. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от anonymous (??), 10-Сен-19, 17:00 
WebAssembly на eBPF :)
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

12. "В состав GCC принят бэкенд для компиляции в eBPF"  –1 +/
Сообщение от Joe B. (?), 10-Сен-19, 08:28 
Когда на eBPF напишут эмулятор eBPF, то круг замкнётся.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Andrey Mitrofanov_N0 (??), 10-Сен-19, 08:31 
> Когда на eBPF напишут эмулятор eBPF, то круг замкнётся.

Компилятора Си, написанного на Си, хватит всем!  :-P

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

17. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Анонас (?), 10-Сен-19, 09:43 
Ничего эти линуксоиды сами придумать не могут http://www.opennet.ru/opennews/art.shtml?num=38203
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (20), 10-Сен-19, 11:01 
И чем там принципиально лучше? Вкорячили в прямо ядро интерпретатор исходного кода. А здесь сначала в байткод компиляют в юзерспейсе.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

35. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от bobr (?), 10-Сен-19, 18:06 
Там JIT-компиляция.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

18. "В состав GCC принят бэкенд для компиляции в eBPF"  –1 +/
Сообщение от odin314 (ok), 10-Сен-19, 09:49 
хочется надеться что с развитем eBPF зоопарк с сетевыми тулзами уменьшится
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "В состав GCC принят бэкенд для компиляции в eBPF"  –1 +/
Сообщение от пох. (?), 10-Сен-19, 14:11 
наоборт же ж - каждая макака наклепает тебе сетевых тулзей на eBPF, патамушта модно - причем чтобы поменять что-нибудь - придется ковыряться в исходнике пакета и никак иначе.
И тулзы эти будут в каждой версии одного и того же дистрибутива - разные.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

27. "В состав GCC принят бэкенд для компиляции в eBPF"  +1 +/
Сообщение от Аноним (26), 10-Сен-19, 11:04 
Какая мотивация писать новую виртуальную машину, когда есть куча готовых?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

37. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от nc (ok), 11-Сен-19, 08:45 
В чем смысл именно JIT (в его классическом понимании - трансляции команд "на лету", т.е. как минимум при каждом запуске, а то и в процессе исполнения программы)?
Как формат для распространения еще можно понять, но не проще ли сгенерировать код для целевого процессора один единственный раз при инсталляции софта на конкретную машину?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "В состав GCC принят бэкенд для компиляции в eBPF"  +1 +/
Сообщение от Аноним84701 (ok), 11-Сен-19, 13:14 
> В чем смысл именно JIT (в его классическом понимании - трансляции команд
> "на лету", т.е. как минимум при каждом запуске, а то и
> в процессе исполнения программы)?

В классическом понимании -- для компиляции "на лету"  ЯП с динамической типизацией/поздним связыванием (vtable,  dynamic dispatch) и прочими кунтсштюкам.
ЕМНИП, придумали еще в 60 для лиспа.

При "классической" компиляции динамичного ЯП придется или генерировать код для всех возможных комбинаций вариантов типов/вызовов методов или же "разбирать" все во время выполнения  (получим тот же интерпретатор, вид сбоку).
В случае JIT компиляции есть возможность отслеживать (tracing JIT) конкретно используемые типы и методы и компилировать только этот вариант.

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

40. "В состав GCC принят бэкенд для компиляции в eBPF"  +/
Сообщение от Аноним (20), 11-Сен-19, 15:17 
>но не проще ли сгенерировать код для целевого процессора один единственный раз при инсталляции софта на конкретную машину?

А правила добавлять/вставлять/удалять на ходу?

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру