Medijski sadržaj
- Tweetovi
- Tweetovi i odgovori
- Medijski sadržaj, trenutna stranica.
-
Do you mean the syntax from ubpf-disassembler? That would be cool, though it is quite different. It might be easier to update ubpf-disassembler to return something closer to bpftool/objdump's syntax than have the lexer recognize both.pic.twitter.com/6KDSDCUGk1
-
And a third (proof-of-concept) BPF verifier! In this paper,
@lukenels_ et al. explain how they automatically transform a BPF interpreter into a BPF verifier using symbolic execution. They then use it to find 15 bugs in Linux's JIT compilers! https://unsat.cs.washington.edu/papers/nelson-serval.pdf …pic.twitter.com/3M38wie0Y8
Prikaži ovu nit -
The new strace v5.3 can use seccomp-bpf to reduce overhead! https://pchaigno.github.io/strace/2019/10/02/introducing-strace-seccomp-bpf.html …pic.twitter.com/oYdTCtosyc
Prikaži ovu nit -
Thanks! There's one thing actually: I can't figure out what defer[k] means. Is that deferring the actual jump by k instructions? Why?pic.twitter.com/DC4rBf1lvq
-
hashmap_ops() first looks up the map (with hashmap_get_fd()) and the entry matching the key, then applies the hashmap operation. For example, in case of a lookup, it reads the hashmap entry in out_ent_addr with macro __hashmap_read_field(). https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/maps/hashmap.uc#L777-L784 …pic.twitter.com/stZ5Kn7TeO
Prikaži ovu nit -
We haven't seen how the BPF program is actually executed though. That happens in the microcode macro ebpf_call() in the NIC's datapath. It computes the jump offset, prepares the BPF stack, and jumps to the loaded program. https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/ebpf.uc#L173 …pic.twitter.com/kMpBTSD4xH
Prikaži ovu nit -
The MicroC function update_bpf_prog() writes the BPF program to the NIC's code store. Most of the code is there to ensure the write is atomic (since there are multiple threads per Flow Processing Core). https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/lib/nic_basic/_c/nic_internal.c#L491 …pic.twitter.com/GJpX9Earar
Prikaži ovu nit -
The BPF program is received by the NIC's control plane (the README is worth a read, to get a grasp of the overall architecture). https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/app_control_lib.c#L376-L378 …pic.twitter.com/2j53sUxBLb
Prikaži ovu nit -
BPF offload starts in the nfp driver. It does a number of checks and sets up DMA mapping before actually reconfiguring the NIC. https://github.com/torvalds/linux/blob/80f232121b69cc69a31ccb2b38c1665d770b0710/drivers/net/ethernet/netronome/nfp/bpf/offload.c#L522 …pic.twitter.com/mMiFfBRyZx
Prikaži ovu nit -
The cyclomatic complexity averaged over all functions is stable, but the most complex functions have been growing even more complex.pic.twitter.com/UUQYt3vhGz
Prikaži ovu nit -
(See the blog post for the annotated versions: https://pchaigno.github.io/bpf/2019/07/02/bpf-verifier-complexity.html ….) It's growing! You probably expected as much given how active BPF development is. Fair enough, let's compare to the rest of the BPF subsystem:pic.twitter.com/x1du0SYA1a
Prikaži ovu nit -
To better understand how the BPF verifier's complexity is evolving over time, I plotted a few complexity metrics. Let's start with the simplest one, the number of lines of code!pic.twitter.com/P6KQcKZXsl
Prikaži ovu nit -
Now I wish I went to CMU... I loved the Andromeda's paper for a its different perspective on end-host cloud networking (wrt. EC2 and Azure's hardware approaches). Plus, they discuss performance isolation in software!pic.twitter.com/9FaAJ9nazz
Čini se da učitavanje traje već neko vrijeme.
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.