jkbs retweeted
Simple writing is the no.1 business skill.
Warren Buffett writes his shareholder letters at a 4th-grade reading level.
I discovered it by accident.
Here are 5 proven methods for simple writing I wish I knew earlier:
jkbs retweeted
Slides and pictures from BPF track of LSFMMBPF 2022 conference:
vger.kernel.org/bpfconf2022.…
jkbs retweeted
Hello Twitter friends!
In ~30 minutes, we'll host an exciting video segment by
@lzbauer @jkbs0 Arthur and me about Linux's sk_lookup
watch it on CF TV cloudflare.tv/event/4yveCaDT…
Blog posts we'll mention:
blog.cloudflare.com/how-we-b…
blog.cloudflare.com/its-crow…
blog.cloudflare.com/tubular-…
jkbs retweeted
A conclusion to a very long saga of "fixing" BSD Sockets API:
First @akajibi wrote SO_BINDTOPREFIX patch.
Then @jkbs0 did more generic eBPF sk_lookup that was more flexible.
Now @lzbauer augmented it with real nice userspace management component - tubular (and tubectl).
Production ready eBPF, or how we fixed the BSD socket API. cfl.re/3Bw1f17
jkbs retweeted
blog.cloudflare.com/how-to-s…
"How to stop running out of ephemeral ports and start to love long-lived connections"
Or
"Userspace Connectx() on Linux"
Or
"This is why we need kernel-side connectx()"
Or
"Why you can have tops 28K outbound UDP connections?"
Code
github.com/cloudflare/cloudf…
jkbs retweeted
If anyone wants to get started with task isolation on Linux, here’s an article I wrote, codeblueprint.co.uk/2020/05/…
Replying to @pkhuong @chriseberly
When I cared about noise (ubench), I would also cpuset pid 1 + non-kernel threads to core 0 on startup, and explicitly opt into the remainder.
Linuxers who *really really* care (@fleming_matt ) use boot-time isolcpu. I did for a while, but ran into (now fixed) kernel lockups.
jkbs retweeted
Really good article about non-trivial gdb features: interrupt.memfault.com/blog/…
#gdb #debugging #linux – at Marechal Deodoro, Brasil
jkbs retweeted
Two magical words "Applied. Thanks" Jakub's 12 months of work is completed.
Hurray! BPF Socket Dispatch feature landed in bpf-next tree!
lore.kernel.org/netdev/CAADn…
kernel.googlesource.com/pub/…
jkbs retweeted
The CFP for the Networking and BPF track at LPC 2020 is out! Show us what you've got! lore.kernel.org/netdev/20200… #LinuxPlumbers @linuxplumbers #linux #bpf #netdev
jkbs retweeted
Huge milestone on the "BPF program on a lookup socket" project. @jkbs0 just published first non-rfc patch series with the code:
lore.kernel.org/netdev/20200…
It's about a year of Jakubs work...
jkbs retweeted
Replying to @packagecloudio
@packagecloudio blogs about Monitoring and Tuning the Linux Networking Stack are legendary.
But, there is one about syscalls too! Just as epic
blog.packagecloud.io/eng/201…
Do you know 3 methods of making a syscall on x86? What is located after envp? And what it has to do with vDSO?
jkbs retweeted
We decided to figure out what TCP_USER_TIMEOUT and SO_KEEPALIVE socket options actually do...
Ten days later I'm confident nobody really understands it (and I didn't even look at the funny states like FIN-WAIT, LAST-ACK)
Code:
github.com/cloudflare/cloudf…
blog.cloudflare.com/when-tcp…
When TCP sockets refuse to die - cfl.re/32TuOaA
jkbs retweeted
The demo worked flawlessly! Here is a video of the same thing:
youtube.com/watch?v=4sRECNvn…
inet-tool: github.com/majek/inet-tool#r…
kernel patches: github.com/jsitnicki/linux/c…
jkbs retweeted
nsenter is a pretty underrated tool for debugging container networking. If you know the pause PID, you can effectively use any tools installed on the host (not the container) against the pod’s network namespace. For example:
$ nsenter -t <pause-pid> -n tcpdump -i eth0
jkbs retweeted
We are pleased to announce our first accepted Microconference for 2019 Linux Plumbers Conference! Welcome BPF!
linuxplumbersconf.org/blog/2…
jkbs retweeted
New blog post: "SOCKMAP - TCP splicing of the future"
blog.cloudflare.com/sockmap-…
The code:
github.com/cloudflare/cloudf…
We had to:
- write custom bpf loader, I hate dependencies
- understand what SOCKMAP is supposed to do (zero docs)
- debug it
- wonder why splice is slow
jkbs retweeted
How to check if some odd syscall is supported by your kernel? Nothing simpler! Use Perl!
strace -e trace=/syscall perl -e 'printf "ret=%d err=%s\n", syscall(425), $!'
Found by @jkbs0;
For the record syscall 425 is io_uring_setup :)
jkbs retweeted
IOCB_CMD_POLL usage is picking up! blog.cloudflare.com/io_submi… by @Cloudflare
jkbs retweeted
My XDP talk covered in blogpost at #KR2018 super very nice write-up by @Aissn kernel-recipes.org/en/2018/l…
jkbs retweeted
1/2 Joel Jaeggli from Fastly is saying *not* to use flow-label for ECMP hashing. The problem? Flow-label is created *especially* in order to be used for hashing.
Arguments:
- draft-fioccola-spring-flow-label-alt-mark
- some firewalls rewrite flow-label
blog.apnic.net/2018/01/11/ip…



















