Ibandakanywe kwi-GCC compiler suite
Ukongeza kwi-backend yokuveliswa kwe-bytecode, i-GCC ibandakanya i-libgcc port ye-eBPF kunye nezixhobo zokuvelisa iifayile ze-ELF ezenza kube lula ukuphumeza ikhowudi kumatshini we-eBPF obonakalayo usebenzisa abalayishi ababonelelwe nge-kernel. Iipetshi zokuxhasa i-eBPF kwi-GCC zalungiswa ziinjineli zase-Oracle, ezazisele zikho
Iinkqubo ze-eBPF zinokuchazwa kwi-subset yolwimi lwe-C, zihlanganiswe kwaye zifakwe kwi-kernel. Ngaphambi kokubulawa, itoliki ye-eBPF ihlola i-bytecode yokusetyenziswa kwemiyalelo evumelekileyo kwaye ibeka imithetho ethile kwikhowudi (umzekelo, akukho loops).
Ekuqaleni, izixhobo ezisekwe kwi-LLVM zazisetyenziselwa ukuqulunqa i-eBPF kwiLinux. Inkxaso ye-eBPF kwi-GCC inika umdla kuba ikuvumela ukuba usebenzise isixhobo esinye sokwakha i-Linux kernel kunye neenkqubo ze-eBPF, ngaphandle kokufaka ukuxhomekeka okongeziweyo.
Ngohlobo lweenkqubo ze-eBPF, unokudala abaphathi bomsebenzi womnatha, ukugcwala kwetrafikhi, ukulawula i-bandwidth, iisistim zokubeka iliso, ukuthintela ukufowuna kwenkqubo, ukulawula ukufikelela, ukubala ukuphindaphindwa kunye nexesha lemisebenzi, kwaye wenze umkhondo usebenzisa i-kprobes/uprobes/tracepoints.
umthombo: opennet.ru