{"id":11328,"date":"2022-03-23T07:00:00","date_gmt":"2022-03-23T15:00:00","guid":{"rendered":"https:\/\/formtek.com\/blog\/?p=11328"},"modified":"2021-08-12T08:28:21","modified_gmt":"2021-08-12T16:28:21","slug":"linux-efficiency-and-performance-from-kernel-customizations","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/linux-efficiency-and-performance-from-kernel-customizations\/","title":{"rendered":"Linux: Efficiency and Performance from Kernel Customizations"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Extended <a href=\"https:\/\/en.wikipedia.org\/wiki\/Berkeley_Packet_Filter\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Berkeley_Packet_Filter\">Berkeley Packet Filter<\/a> (eBPF) is a virtual machine running inside the operating system kernel. Using eBPF, you can safely load programs into the kernel to customize kernel behavior.  Historically, because the kernel is vital for security and stability, it changed very slowly to maintain integrity.  eBPF enables easy kernel customizability which can be useful for a wide range of applications. Often kernel changes can introduce significant efficiency and performance gains.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.linkedin.com\/in\/alexey1\/\" data-type=\"URL\" data-id=\"https:\/\/www.linkedin.com\/in\/alexey1\/\">Alexei Starovoitov<\/a>, developer at Facebook, <a href=\"https:\/\/siliconangle.com\/2021\/08\/12\/tech-giants-throw-weight-behind-ebpf-new-open-source-tech-makes-infrastructure-intelligent\/\" data-type=\"URL\" data-id=\"https:\/\/siliconangle.com\/2021\/08\/12\/tech-giants-throw-weight-behind-ebpf-new-open-source-tech-makes-infrastructure-intelligent\/\">said that<\/a> \u201ceBPF is a revolutionary technology that allows us to modify operating system behavior in real time without risky or expensive kernel code changes. It\u2019s had a remarkable impact on our ability to iterate quickly on everything from networking to security to containerization.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.brendangregg.com\/\" data-type=\"URL\" data-id=\"https:\/\/www.brendangregg.com\/\">Brendan Gregg<\/a>, senior performance engineer at Netflix, <a href=\"https:\/\/www.kpvi.com\/news\/national_news\/facebook-google-isovalent-microsoft-and-netflix-launch-ebpf-foundation-as-part-of-the-linux-foundation\/article_6073df19-e659-53b3-8b13-f808f00b3ff7.html\" data-type=\"URL\" data-id=\"https:\/\/www.kpvi.com\/news\/national_news\/facebook-google-isovalent-microsoft-and-netflix-launch-ebpf-foundation-as-part-of-the-linux-foundation\/article_6073df19-e659-53b3-8b13-f808f00b3ff7.html\">said that<\/a> &#8220;eBPF is a new type of software that provides superpower capabilities, birthing an industry of networking, performance, and security technologies. Netflix has pioneered uses of eBPF for observability, providing insight into countless areas that were previously difficult or prohibitively expensive to instrument. eBPF has helped us lower application latency and find cost savings.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The eBPF project has grown and has become an arm of the Linux Foundation called the <a href=\"https:\/\/ebpf.io\/what-is-ebpf\" data-type=\"URL\" data-id=\"https:\/\/ebpf.io\/what-is-ebpf\">eBPF foundation<\/a> and is supported by companies like Google, FaceBook, Microsoft, and NetFlix.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The eBPF Foundation said that &#8220;eBPF is used extensively to drive a wide variety of use cases: Providing high-performance networking and load-balancing in modern data centers and cloud native environments, extracting fine-grained security observability data at low overhead, helping application developers trace applications, providing insights for performance troubleshooting, preventive application and container runtime security enforcement, and much more. The possibilities are endless, and the innovation that eBPF unlocks has only just begun.&#8221;<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Flinux-efficiency-and-performance-from-kernel-customizations%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Extended Berkeley Packet Filter (eBPF) is a virtual machine running inside the operating system kernel. Using eBPF, you can safely load programs into the kernel to customize kernel behavior. Historically, because the kernel is vital for security and stability, it<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/linux-efficiency-and-performance-from-kernel-customizations\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11328","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/11328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=11328"}],"version-history":[{"count":1,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/11328\/revisions"}],"predecessor-version":[{"id":11329,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/11328\/revisions\/11329"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=11328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=11328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=11328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}