並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 67件

新着順 人気順

BPFの検索結果1 - 40 件 / 67件

  • BPF Performance Toolsを読んだ感想 - go_vargoのブログ

    BPF Performance Toolsを読んだので、感想ブログです。 先に感想を言っておくと「最高」でした。 BPF Performance Toolsとは? NetflixでKernel・パフォーマンスにかかわるチューニング・アーキテクチャを専門にしているBrendan Greggさんが書いた本です。BPFのiovisorというTracing分野の第一人者でもあります。 www.brendangregg.com 2019年12月に発売したばかりなので、BPFの分野では最新の本でしょう。他の著書に有名な本として(日本語版の)「詳解システム・パフォーマンス」があります。 BPF Performance Toolsは「詳解システム・パフォーマンス」第二弾と言えるかもしれません。ちなみにページ数は880Pあり、Kindleで表示される読み終わるための平均的な時間は「27時間30分」で、大作R

      BPF Performance Toolsを読んだ感想 - go_vargoのブログ
    • BPFを利用し、Linuxカーネルのパラメータを継続的に自動チューニングする「bpftune」。オラクルがオープンソースで公開

      オラクルはLinuxカーネルのパラメータを、ワークロードに合わせて継続的に自動チューニングするツール「bpftune」をオープンソースで公開しました(GitHubのページ)。 bpftuneは「BPF」(Berkeley Packet Filter)と呼ばれる、Linuxカーネル内のさまざまな機能をフックして機能拡張が可能な仕組みを利用し、継続的にLinuxカーネルのきめこまなかレベルで監視を行い自動チューニングを実現しています。 オラクルはbpftuneを開発した背景として、クラウドに代表される大規模なサーバ展開が可能なインフラにおいて、以前よりも個々のサーバのチューニングについて注意が払われることがほとんどなくなったこと、チューニングされるとしても静的に適切な設定があると考えられることが一般的であることを挙げています。 bpftuneによる自動チューニング対象の項目 bpftuneは現

        BPFを利用し、Linuxカーネルのパラメータを継続的に自動チューニングする「bpftune」。オラクルがオープンソースで公開
      • TCP-BPF: Linuxはマイクロカーネルの夢を見るか|oraccha

        eBPFでcommit logを調べてみるといろいろと面白そうなものが出てくるな。例えば、TCP-BPF [netdev 2.2]。TCPコネクションのパラメータをBPFで操作できる。さらに最近(バージョン5.5以降)では、輻輳制御もeBPFで実装できるようになっているようだ。eBPFによりカーネルからどんどん機能を追い出してLinuxはマイクロカーネル化するのだという鼻息荒い発表も見かけるが(「eBPF - Rethinking the Linux Kernel」[QCon2020])、正直これが正しい方向性なのかよくわからない。面白いけど。 eBPFを使っているわけではないが、輻輳制御をユーザレベルで実装するという研究はいくつかある(「Restructuring Endpoint Congestion Control」 [SIGCOMM2018]、「Deploying Safe Use

          TCP-BPF: Linuxはマイクロカーネルの夢を見るか|oraccha
        • BPF Performance Tools (Book)

          Recent posts: 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » TensorFlow Library Performance 19 Mar 2022 » Why Don't You Use ... 26 Sep 2021 » The Speed of Time 06 Sep 2021 »

          • BPF: A New Type of Software

            Recent posts: 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » TensorFlow Library Performance 19 Mar 2022 » Why Don't You Use ... 26 Sep 2021 » The Speed of Time 06 Sep 2021 »

            • BPF Performance Tools: Linux System and Application Observability (book)

              BPF Performance Tools: Linux System and Application Observability (book) 15 Jul 2019 BPF (eBPF) tracing is a superpower that can analyze everything, and I'll show you how in my upcoming book BPF Performance Tools: Linux System and Application Observability, coming soon from Addison Wesley. The book includes over 150 BPF observability tools that you can run to find performance wins and troubleshoot

              • [CNDT2020]Linux Observability with BPF Performance Tools

                Admission Webhookで快適なSecret管理 / Berglas Secret Admission Webhook

                  [CNDT2020]Linux Observability with BPF Performance Tools
                • BPFを使ったLinuxにおけるトレーシングの基礎知識

                  BPFを使ったLinuxにおけるトレーシングの基礎知識:Berkeley Packet Filter(BPF)入門(8) Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、BPFを使ったLinuxにおけるトレーシングの基礎について。 Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。今回から数回にわたり、BPFの代表的な応用先の一つであるトレーシングに焦点を当て、その動作と利用方法を解説していこうと思います。今回はLinuxにおけるトレーシングの基礎を説明します。 トレーシングとは まず、そもそも「トレーシング」とは何でしょうか。字義的

                    BPFを使ったLinuxにおけるトレーシングの基礎知識
                  • Linux 5.5におけるBPF(Berkeley Packet Filter)の新機能

                    Linux 5.5におけるBPF(Berkeley Packet Filter)の新機能:Berkeley Packet Filter(BPF)入門(7) Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、Linux 5.5で導入されたBPFに関する主な新機能について。 Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。 2020年1月26日にLinux 5.5がリリースされたので、今回は通常の連載内容を中断して、Linux 5.5で導入されたBPFに関する主な新機能を紹介します。 BPF Trampoline BPF Trampoli

                      Linux 5.5におけるBPF(Berkeley Packet Filter)の新機能
                    • BPFの歩き方 ‐ バイナリの"カッコよさ"に触れてみる

                      本記事は、TechFeed Experts Night#19 〜 達人に聞く、Linuxカーネルコードの歩き方のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 では「BPFの歩き方」と題して発表させていただきます。 株式会社ミラティブでインフラエンジニアをしている近藤といいます。仕事では日々Goを書きながらミドルウェアのログやiostatと向き合っている感じです。今日、ほかの皆さんは本当にちゃんとカーネルソースコードの読み方を解説されていましたが、私はほぼカーネルのコードを読まないというか、基本的には最後の手段にしているので、今日はソースコードの読み方ではなく、別のものの読み方の話をします。

                        BPFの歩き方 ‐ バイナリの"カッコよさ"に触れてみる
                      • LinuxのBPFで何ができるのか? BPFの「プログラムタイプ」とは

                        Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。前回までは、BPFの基本やBPFのプログラムの作成方法を説明しました。今回から、「LinuxのBPFで何ができるのか」について詳しく見ていきます。 なお本稿では、Linux 5.3のソースコードを参照しています。 BPFでできること BPFプログラム実行の流れをおさらいしましょう。 ユーザーはBPFプログラムを作成し、システムコールを利用してそれをLinuxカーネル内に登録します(図の【1】)。そうして登録されたBPFプログラムは、対応するイベントが発生すると、Linuxの中で引数が1つ、戻り値も1つの関数として実行されます(図の【2】)。BPFプログラムは実行中にカーネル内のヘルパー関

                          LinuxのBPFで何ができるのか? BPFの「プログラムタイプ」とは
                        • BCC(BPF Compiler Collection) for Ruby

                          BCCをRubyから使えるようにした話 @ Kernel/VM探検隊online #1 https://connpass.com/event/175388/ demo: https://www.youtube.com/watch?v=xNUN9vdgASI

                            BCC(BPF Compiler Collection) for Ruby
                          • GitHub - oracle/bpftune: bpftune uses BPF to auto-tune Linux systems

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              GitHub - oracle/bpftune: bpftune uses BPF to auto-tune Linux systems
                            • RustでBPF CO-RE - とりあえずビルドしてみるの巻 - ローファイ日記

                              2020年は色々やったんですが、不甲斐なさも残りました。2021年も頑張ります(1行で去年の総括と今年の抱負)。 で、RustとBPF CO-RE、2つのsota(2020年末に覚えた言葉の一つ) をブログに書いて気炎を上げていきたい。 (はじめに: 半分自分メモのつもりなんです! という言い訳をしておきます。認識や用語など間違いがあれば突っ込んで...) BPF CO-RE、コレってなんですか itiskj.hatenablog.com 上記記事に書いてある通り(さらに言えば Why We Switched from BCC to libbpf for Linux BPF Performance Analysis | PingCAP の通り)、BCCのプロダクション利用には、コンパイラやヘッダファイルなどたくさんの依存、実行時にコンパイルをすることによるオーバヘッドなど多くの問題があった

                                RustでBPF CO-RE - とりあえずビルドしてみるの巻 - ローファイ日記
                              • 第694回 libbpfとclangでポータブルなBPF CO-REバイナリ作成 | gihyo.jp

                                第688回と第690回では、カーネルのトレーシングツールとして注目されているeBPFを活用するためのツールとしてBCCを紹介しました。 また第692回ではBCC以外のeBPFを活用したツールの利用方法も紹介しています。 今回は一般的なコンパイラのようにバイナリを生成でき、移植性が高く、そして近い将来eBPFを使うための本流のひとつとなりそうなBPF CO-REについて紹介しましょう。 BPF CO-REの登場 BPF CO-RE(Compile Once - Run Everywhere)については第692回でも軽く紹介しました。改めてまとめると、次のような機能を実現する仕組みです。 BPFを利用したバイナリを実行環境とは異なる環境でビルドできる カーネルバージョン間の違いもある程度は吸収してくれる 実行バイナリのサイズはそれなりに小さくなる コンテナ内部などターゲットと異なるカーネルが動

                                  第694回 libbpfとclangでポータブルなBPF CO-REバイナリ作成 | gihyo.jp
                                • Cloudflare architecture and how BPF eats the world

                                  Cloudflare architecture and how BPF eats the world Loading... Recently at Netdev 0x13, the Conference on Linux Networking in Prague, I gave a short talk titled "Linux at Cloudflare". The talk ended up being mostly about BPF. It seems, no matter the question - BPF is the answer. Here is a transcript of a slightly adjusted version of that talk. At Cloudflare we run Linux on our servers. We operate t

                                    Cloudflare architecture and how BPF eats the world
                                  • BCCでBPF toolsの開発をするための基礎知識 - Islands in the byte stream

                                    最近仕事で h2olog を開発しています (H2O の QUIC 層をトレースしよう | Toru Maesaka) 。これはh2oのUSDT からデータを取り出すBPF toolです。その関係でBPFとかBCCをいろいろ触ったので、BPF toolsの開発に必要なことを書いておきます。 なおBCCまわりはまだ細かいところの作りが荒いので、思わぬトラブルがあるかもしれません。幸いpull-reqのレビュー&マージもかなり早いので、気になったところはどんどん直していっています。 ToC ToC 開発環境のセットアップ トレース対象のプログラムのdtrace supportを有効にする トレース対象のプログラムのUSDTを確認する 開発する 用語集 BPF BPF module (BPF program) BCC (iovisor/bcc) BPF verifier eBPF USDT bp

                                      BCCでBPF toolsの開発をするための基礎知識 - Islands in the byte stream
                                    • BPFによるトレーシングが簡単にできる「bpftrace」の使い方

                                      Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。前回はBPFによるトレーシングについて、おおまかな仕組みや概要を説明しました。今回は、BPFによる代表的なトレーシングツール「bpftrace」について、具体的にどのようなことができるのかを紹介します。また、bpftraceの注意点や分かりにくい点についてもまとめます。 bpftraceとは bpftraceはBPFを利用したトレーシングツールの一つです。代表的なBPFのライブラリである「BCC(BPF Compiler Collection)」と同じく、現在は「iovisor」が管理しています。BCCと比較すると、bpftraceはトレース処理に特化し、より簡単に利用できるようになって

                                        BPFによるトレーシングが簡単にできる「bpftrace」の使い方
                                      • 第695回 入門BPF CO-RE | gihyo.jp

                                        第694回ではポータブルなBPFバイナリを作成できる、BPF CO-REのビルド方法を紹介しました。今回はより実践的なコードを使って、いろいろなツールを作ってみましょう。 BPF CO-REの基本と事前準備 BPF CO-RE(Compile Once - Run Everywhere)については第694回でも言及しましたが、簡単に言うとeBPFとは「カーネルやプロセスの挙動を、それらを再コンパイルすることなく調べるためのツール」であり、BPF CO-REが「移植性のあるeBPFバイナリを作成するための仕組み」になります。 また、カーネル内部で動くBPFオブジェクトは、libbpfによってカーネルにロードされます。よってユーザーランド側のツールは、libbpfを通してBPFオブジェクトをカーネルに渡し、BPFオブジェクトが生成したデータを収集しなくてはなりません。 BPFオブジェクト自体は

                                          第695回 入門BPF CO-RE | gihyo.jp
                                        • RustとBPFでプロファイラを実装しよう!

                                          プロファイリングは枯れた技術ですが、BPFで実装するのであれば、学ぶべき新技術という気がしてきますよね!実際、Pixie、Parcaなど、BPFを使った第三世代プロファイラの開発が進んでいます(世代数は雰囲気)。しかし、Rustの実装は見つからなかったので、RustとBPFで実装してみました。 CPUプロファイリングの基本CPUプロファイリングの典型的な目的は、頻繁に実行される関数を見つけることです。プロファイラは、定期的に、対象のプロセスやスレッドで、実行されている関数を記録します。 10000: main(); find_item(); calc(); 5000: main(); parse_binary(); scan(); 2000: main(); verify(); calc();上記の例では、1行目に、calc関数が10,000回記録されています。プロファイラは、実行されてい

                                            RustとBPFでプロファイラを実装しよう!
                                          • BPF(bcc)のメモ

                                            bpf や bcc 周りは使わないと忘れてしまうのでメモ。 Hello, World clang で bpf オブジェクトを作って C でそれを読み込む…という方法よりも https://github.com/iovisor/bcc/ を使う方が楽なので、bcc でやります。 C でやると環境作るところから大変なので… ref : https://blog.raymond.burkholder.net/index.php?/archives/1000-eBPF-Basics.html execve システムコールが呼ばれたときに Hello, World! と表示するプログラムを作ります。 from bcc import BPF bpf_text = """ #include <uapi/linux/ptrace.h> #include <linux/sched.h> #include <

                                              BPF(bcc)のメモ
                                            • 単なるデバッグ情報だけではない「BPF Type Format」(BTF)の使い道

                                              単なるデバッグ情報だけではない「BPF Type Format」(BTF)の使い道:Berkeley Packet Filter(BPF)入門(10) Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、最近のBPFの発展に欠かすことのできない重要機能「BPF Type Format(BTF)」について。 Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。今回は、最近のBPFの発展に欠かすことのできない重要機能「BPF Type Format(BTF)」を紹介します。 BPF Type Format(BTF)とは BPFプログラムは主にC

                                                単なるデバッグ情報だけではない「BPF Type Format」(BTF)の使い道
                                              • h2ologにみるBPF toolsの構造と設計 - Islands in the byte stream

                                                最近はお仕事で h2olog を開発しています。これはC++で書いたBPF toolsで、H2Oに組み込まれたUSDTが出力するイベントをトレースするためのツールです。 具体的にはこんな感じで使ってH2OプロセスをトレースしてJSON-Linesにして出力します: # QUICを有効にした H2O serverが起動しているとして $ sudo h2olog quic -p "$(pgrep -o h2o)" {"type":"accept","seq":1,"conn":2,"time":1594471121930,"dcid":"9546e6940ebeec5f"} {"type":"crypto-decrypt","seq":2,"conn":2,"time":1594471121930,"pn":0,"decrypted-len":1236} {"type":"quictrace-

                                                  h2ologにみるBPF toolsの構造と設計 - Islands in the byte stream
                                                • BPF Portability and CO-RE · BPF

                                                  What does portability mean in BPF context? What are the challenges of writing portable BPF programs that developers need to deal with? This post will describe BPF portability problem and how BPF CO-RE (Compile Once – Run Everywhere) is helping to address this problem. Please check out an updated version of this post, containing new information on the state of BPF CO-RE as of 2021. If there will be

                                                  • BPF binaries: BTF, CO-RE, and the future of BPF perf tools

                                                    Recent posts: 24 Mar 2024 » Linux Crisis Tools 17 Mar 2024 » The Return of the Frame Pointers 10 Mar 2024 » eBPF Documentary 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » Te

                                                    • Intercepting Zoom's encrypted data with BPF

                                                      Update: since I wrote this post, I've been working on a new eBPF library for Rust called Aya, see https://confused.ai/posts/announcing-aya. If you're looking to use eBPF with Rust, I highly recommend you check it out! I originally wrote an earlier version of this post at the end of March, when I was working on adding uprobes support to redbpf. I wanted to blog about the work I was doing and needed

                                                        Intercepting Zoom's encrypted data with BPF
                                                      • Production では BCC より libbpf + BPF CO-RE を使う方が良い - kenju's blog

                                                        "Why We Switched from BCC to libbpf for Linux BPF Performance Analysis 2020" に書いてあるとおりなのだが、BCC (BPF Compiler Collection) ではなく、libbpf + BPF CO-RE の組み合わせを使うほうが好まれる。 なぜかというと、BCC のアーキテクチャ上、BPF Program を実行するために Clang/LLVM および trace に必要な Linux kernel headers file を埋め込む必要があるのだが、それがプログラム起動時に必要な CPU/Memory リソースを押し上げる要因、及び BPF Program 開発時のビルドプロセスや Debugging の複雑化に繋がっているからだ。 NOTE: 大抵の場合、Clang, LLVM および Linux

                                                          Production では BCC より libbpf + BPF CO-RE を使う方が良い - kenju's blog
                                                        • バルゴ on Twitter: "『BPF Performance Tools』の3章で出てきた、Netflixのperformance engineerがサーバログインしてから最初の60秒で確認する内容 基礎は変わらない 1. uptime 2. dmesg… https://t.co/qP0VIDzelF"

                                                          『BPF Performance Tools』の3章で出てきた、Netflixのperformance engineerがサーバログインしてから最初の60秒で確認する内容 基礎は変わらない 1. uptime 2. dmesg… https://t.co/qP0VIDzelF

                                                            バルゴ on Twitter: "『BPF Performance Tools』の3章で出てきた、Netflixのperformance engineerがサーバログインしてから最初の60秒で確認する内容 基礎は変わらない 1. uptime 2. dmesg… https://t.co/qP0VIDzelF"
                                                          • BPF Theremin, Tetris, and Typewriters

                                                            For my AWS re:Invent talk on BPF Performance Analysis at Netflix, I began with a demo of "BPF superpowers" (aka eBPF). The video is on youtube and the demo starts at 0:50 (the slides are here or as a PDF): I'm demonstrating a tool I developed to turn my laptop's wifi signal strength into audio (someone described this as a BPF theremin.) I first developed it as this bpftrace one-liner: bpftrace -e

                                                            • BPF In Depth: Communicating with Userspace

                                                              Notes on BPF (3) - How BPF communicates with userspace - BPF maps, perf events, bpf_trace_printk Oracle Linux kernel developer Alan Maguire presents this six-part series on BPF, wherein he presents an in depth look at the kernel's "Berkeley Packet Filter" -- a useful and extensible kernel function for much more than packet filtering. We've seen how userspace sets up BPF programs, but once a progra

                                                              • BPF at Facebook (and beyond) [LWN.net]

                                                                This article brought to you by LWN subscribersSubscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible. It is no secret that much of the work on the in-kernel BPF virtual machine and associated user-space support code is being done at Facebook. But less is known about

                                                                • いいBPF for PHP???

                                                                  PHPカンファレンス福岡 Rejectカンファレンス 2019

                                                                    いいBPF for PHP???
                                                                  • Kinvolk: Inside Kinvolk Labs: Investigating Kubernetes performance issues with BPF

                                                                    Inside Kinvolk Labs: Investigating Kubernetes performance issues with BPF By Alban Crequy · April 24, 2020 One of the things we do in the Kinvolk Labs team is provide expert technical consulting for customers who are experiencing issues with their Kubernetes or Linux environments — from security audits to networking troubles to troubleshooting puzzling performance problems. A few weeks back, video

                                                                      Kinvolk: Inside Kinvolk Labs: Investigating Kubernetes performance issues with BPF
                                                                    • cgroup v2の、BPFによるデバイスアクセス制御を試す - ローファイ日記

                                                                      RubyKaigiも近付いたしeBPFの機運を高めようとしている。 タイトルですが、そういうことができます。 www.kernel.org このドキュメントにも「どうすればできる」と言うところが書いておらず、最終的にカーネルのサンプルを眺めることになる。 elixir.bootlin.com elixir.bootlin.com 下準備 まず、cgroup v2が有効なカーネルを使う必要がある。いったん。Ubuntu Groovy(5.8.0-53-generic)を使う。 その上で、cgroup v1のdevicesコントローラを一応umountしておいいた。必要なのかはわからないが...。 $ sudo umount -l /sys/fs/cgroup/devices その上で cgroup v2のグループを作成。 $ sudo mkdir /sys/fs/cgroup/unified

                                                                        cgroup v2の、BPFによるデバイスアクセス制御を試す - ローファイ日記
                                                                      • tc/BPF and XDP/BPF

                                                                        What is eBPFReference: bpf The extended Berkeley Packet Filter (eBPF) has first appeared in Kernel 3.18. The original version is being referred to “classic” BPF (cBPF) . cBPF is known to many as being the packet filter language used by tcpdump. Nowadays, the Linux kernel runs eBPF only and loaded cBPF bytecode is transparently translated into an eBPF representation in the kernel before program exe

                                                                        • BPF CO-RE バイナリはどのようにビルドされるか - ローファイ日記

                                                                          そろそろBPFのことを思い出そうと思って記事を書く。 シリーズです: udzura.hatenablog.jp udzura.hatenablog.jp 前回まででRustでのBPF CO-REバイナリの作成方法をまとめたが、C言語などで使う場合の細かい手順を追ってみる。 ちゃんとドキュメントを追い切れていないところがあり、今回は、iovisor/bccのlibbpf-toolsにあるMakefileなどを参照したことは了解願いたい。 github.com さて、利用するBPFプログラムは以下のようにする。 vfs_read をトレースして、読み込みに成功いたバイト数を、log2をbinとするヒストグラムにする。 #include "vmlinux.h" #include <bpf/bpf_helpers.h> #include <bpf/bpf_tracing.h> #include <

                                                                            BPF CO-RE バイナリはどのようにビルドされるか - ローファイ日記
                                                                          • sandbox/linux/seccomp-bpf/sandbox_bpf.cc - chromium/src - Git at Google

                                                                            // Use of this source code is governed by a BSD-style license that can be

                                                                            • BPF ring buffer

                                                                              There is now a new BPF data structure available: BPF ring buffer. It solves memory efficiency and event re-ordering problems of the BPF perf buffer (a de facto standard today for sending data from kernel to user-space) while meeting or beating its performance. It provides both perfbuf-compatible for easy migration, but also has the new reserve/submit API with better usability. Also, both synthetic

                                                                              • BPF Performance Tools (Book)

                                                                                Recent posts: 24 Mar 2024 » Linux Crisis Tools 17 Mar 2024 » The Return of the Frame Pointers 10 Mar 2024 » eBPF Documentary 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » Te

                                                                                • eBPF: BPF_MAP_TYPE_SK_STORAGE が Invalid argument - Unyablog.

                                                                                  Linux の eBPF で BPF_MAP_TYPE_SK_STORAGE を使おうとして、map を定義して bpftool で流し込んだけど Invalid argument でうまく動かなかった。調べてもヒットしなくて長時間費やしたのでメモ。 環境は ArchLinux で Kernel release は 5.7.10-arch1-1。 TL;DR BTF に対応する必要がある。 詳細 struct bpf_map_def SEC("maps") sk_storage_map = { .type = BPF_MAP_TYPE_SK_STORAGE, .map_flags = BPF_F_NO_PREALLOC, .key_size = sizeof(int), .value_size = sizeof(int), }; このような map を作って、それを使ったプログラムを lo

                                                                                    eBPF: BPF_MAP_TYPE_SK_STORAGE が Invalid argument - Unyablog.