<story><title>Userspace isn&apos;t slow, some kernel interfaces are</title><url>https://tailscale.com/blog/throughput-improvements/</url></story><parent_chain></parent_chain><comment><author>majke</author><text>I can chime in with some optimizations (linux).&lt;p&gt;For normal UDP sockets UDP_GRO and UDP_SEGMENT can be even faster than sendmmsg&amp;#x2F;recvmmsg.&lt;p&gt;In Gvisor they decided that read&amp;#x2F;write from tun is slow so they did PACKET_MMAP on raw socket instead. AFAIU they just ignore tap device and run a raw socket on it. Dumping packet from raw socket has faster interface than the device itself.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;google&amp;#x2F;gvisor&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;pkg&amp;#x2F;tcpip&amp;#x2F;link&amp;#x2F;fdbased&amp;#x2F;mmap_unsafe.go#L50&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;google&amp;#x2F;gvisor&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;pkg&amp;#x2F;tcpip&amp;#x2F;link&amp;#x2F;...&lt;/a&gt;
&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;google&amp;#x2F;gvisor&amp;#x2F;issues&amp;#x2F;210&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;google&amp;#x2F;gvisor&amp;#x2F;issues&amp;#x2F;210&lt;/a&gt;</text></comment>
<story><title>Userspace isn&apos;t slow, some kernel interfaces are</title><url>https://tailscale.com/blog/throughput-improvements/</url></story><parent_chain></parent_chain><comment><author>mattpallissard</author><text>Title is click bait-y.  This has next to nothing to do with kernel interfaces and is all about network tuning and encapsulation.  Not sure why the authors went with the title as networking is interesting enough.&lt;p&gt;Also, the &amp;quot;slow&amp;quot; things about kernel interfaces (if you aren&amp;#x27;t doing IO which is nearly always the slowest thing) usually isn&amp;#x27;t a given syscall, it&amp;#x27;s the transition from user to kernel space and back.   Lots of stuff going on such as flushing cache and buffers due to security concerns these days.</text></comment>