Linux Networking Performance To Improve Thanks To Retpoline Overhead Reduction
One of the areas where Linux performance has been lower this year since Spectre came to light has been for networking performance, but with the upcoming Linux 4.21 cycle that will be partially addressed.
Linux networking performance took a hit from the introduction of Retpolines "Return Trampolines" at the start of the year for addressing Spectre Variant Two.
Developer Paolo Abeni has been working to offset the Retpoline overhead with a new patch series now destined for Linux 4.21. From the patch series, "We can partially address that when the function pointer refers to a builtin symbol resorting to a list of tests vs well-known builtin function and direct calls. Experimental results show that replacing a single indirect call via retpoline with several branches and a direct call gives performance gains even when multiple branches are added - 5 or more...This may lead to some uglification around the indirect calls...Overall this gives [greater than] 10% performance improvement for UDP GRO benchmark and smaller but measurable for TCP syn flood."
Linux networking subsystem maintainer David Miller has already expressed his plans to pull this into net-next, making it material for the Linux 4.21 cycle.
Linux networking performance took a hit from the introduction of Retpolines "Return Trampolines" at the start of the year for addressing Spectre Variant Two.
Developer Paolo Abeni has been working to offset the Retpoline overhead with a new patch series now destined for Linux 4.21. From the patch series, "We can partially address that when the function pointer refers to a builtin symbol resorting to a list of tests vs well-known builtin function and direct calls. Experimental results show that replacing a single indirect call via retpoline with several branches and a direct call gives performance gains even when multiple branches are added - 5 or more...This may lead to some uglification around the indirect calls...Overall this gives [greater than] 10% performance improvement for UDP GRO benchmark and smaller but measurable for TCP syn flood."
Linux networking subsystem maintainer David Miller has already expressed his plans to pull this into net-next, making it material for the Linux 4.21 cycle.
20 Comments