April 05, 2016 1:05PM
The revenge of the listening sockets
Programming
DNS
Reliability
Linux
Back in November we wrote a blog post about one latency spike. Today I'd like to share a continuation of that story. As it turns out, the misconfigured rmem setting wasn't the only source of added latency. It looked like Mr Wolf hadn't finished his job....
December 17, 2015 2:15PM
Partial kernel bypass merged into netmap main
Programming
Linux
In a previous post we described our work on a new netmap mode called single-rx-queue. After submitting the pull request, the netmap maintainers told us that the patch was interesting, but they would prefer something more configurable instead of a tailored custom mode....
September 07, 2015 10:52AM
Kernel bypass
Reliability
Speed & Reliability
Linux
In two previous posts we've discussed how to receive 1M UDP packets per second and how to reduce the round trip time. We did the experiments on Linux and the performance was very good considering it's a general purpose operating system....
June 16, 2015 2:47PM
How to receive a million packets per second
Linux
Tech Talks
Deep Dive
Last week during a casual conversation I overheard a colleague saying: "The Linux network stack is slow! You can't expect it to do more than 50 thousand packets per second per core!"...
May 11, 2015 11:08AM
CloudFlare "Interview Questions"
Careers
Life @ Cloudflare
Linux
TCP
For quite some time we've been grilling our candidates about dirty corners of TCP/IP stack. Every engineer here must prove his/her comprehensive understanding of the full network stack. For example: what are the differences in checksumming algorithms between IPv4 and IPv6 stacks?...
March 05, 2014 12:00AM
It's Go Time on Linux
Some interesting changes related to timekeeping in the upcoming Go 1.3 release inspired us to take a closer look at how Go programs keep time with the help of the Linux kernel. Timekeeping is a complex topic and determining the current time isn’t as simple as it might seem at first glance....