GCC na-agụnye azụ azụ maka mkpokọta eBPF

Agụnyere na GCC compiler suite nabatara koodu maka ịchịkọta mmemme maka onye ntụgharị okwu bytecode arụnyere n'ime kernel Linux EBPF. N'ihi iji mkpokọta JIT, a na-atụgharị kernel bytecode na ofufe n'ime ntuziaka igwe wee jiri arụ ọrụ nke koodu obodo mee ya. Patches nwere nkwado eBPF nabatara gaa n'alaka ebe ewepụtara ntọhapụ GCC 10.

Na mgbakwunye na nkwado ndabere maka ọgbọ bytecode, GCC gụnyere ọdụ ụgbọ mmiri libgcc maka eBPF yana ngwaọrụ maka imepụta faịlụ ELF nke na-eme ka o kwe omume ịme koodu na igwe mebere eBPF site na iji kernel nyere loaders. Ndị injinia sitere na Oracle kwadoro patches iji kwado eBPF na GCC enyere Nkwado eBPF na GNU binutils. Ihe simulator na patches maka GDB nọkwa na mmepe, nke ga-enye gị ohere ịmegharị mmemme eBPF na-etinyeghị ha na kernel.

Enwere ike ịkọwa mmemme maka eBPF na mpaghara asụsụ C, chịkọtara ma tinye ya n'ime kernel. Tupu e gbuo ya, onye ntụgharị eBPF na-enyocha bytecode maka ojiji ntuziaka anabatara ma tinye iwu ụfọdụ na koodu ahụ (dịka ọmụmaatụ, enweghị loops).
Na mbido, ejiri ngwaọrụ LLVM were chịkọta eBPF na Linux. Nkwado eBPF na GCC na-atọ ụtọ n'ihi na ọ na-enye gị ohere iji otu ngwa ngwa wuo Linux kernel na eBPF mmemme, na-etinyeghị ihe ndabere ọzọ.

N'ụdị mmemme eBPF, ị nwere ike ịmepụta ndị na-ahụ maka ọrụ netwọkụ, na-enyocha okporo ụzọ, jikwaa bandwit, nyochaa sistemu, na-egbochi oku sistemụ, nweta njikwa, gụọ ugboro na oge ọrụ, wee rụọ trace site na iji kprobes/uprobes/tracepoints.

isi: opennet.ru

Tinye a comment