Hoppy beer lover, dad of a girl, former Linux kernel dev, creator of github.com/osrg/gobgp, github.com/osrg/rustybgp, github.com/fujita/tgt, github.com/osrg/ryu

Joined October 2018
65 Photos and videos
GoBGP v4.5.0は、ルーティングテーブルを論理的に分割して、経路計算を並列処理するようになりました。経路数などの環境に依存しますが、かなりの性能向上が期待できるはず。機能を実装したCiscoチームに感謝します。
10
24
2,325
AI-generated slop CVEs are wasting resources of GoBGP downstream distributions. We've enabled GitHub Private Vulnerability Reporting and issued our first two CVEs. github.com/osrg/gobgp/securi…
1
748
RustのBGP実装、RustyBGPにLinuxカーネルのルーティングテーブル操作機能を追加しました。GoBGPも同機能をサポートしていますが、FRR/Zebraを使っているため、特定のバージョンに依存するなどセットアップが面倒でした。RustyBGPは自前で実装しているので、簡単に使えます。 github.com/osrg/rustybgp
16
46
4,972
実装していた i8/i16 のアトミック操作サポートがマージされました。Rustドライバでは標準ライブラリのアトミック型は使用せず、Linuxカーネル独自のRustアトミック型を使用します。
Linuxカーネルは、Rustの標準ライブラリのアトミック型を使わずに、独自のアトミック型を実装しています。その背景と、実装中のi8/i16のサポートに向けた課題をまとめました。NTT Open Source:LinuxカーネルのRustアトミック型 medium.com/nttlabs/linux-ker…
1
30
112
10,699
LinuxカーネルでRustをサポートするアーキテクチャにPOWERPCが追加されるかもしれません。まだ、開発中でマージされていませんが、QEMUで動作しました。現在、Rustをサポートしているアーキテクチャは、 - arm - arm64 - loongarch - riscv - x86 (x86_64のみ)
18
53
4,285
Linuxカーネルは、Rustの標準ライブラリのアトミック型を使わずに、独自のアトミック型を実装しています。その背景と、実装中のi8/i16のサポートに向けた課題をまとめました。NTT Open Source:LinuxカーネルのRustアトミック型 medium.com/nttlabs/linux-ker…
123
494
56,333
今週、実験的な扱いが終了し、Linuxカーネルの正式な機能になることが決まったRust。実は、6月にリリースされたAndroid 16には、Rustで実装されたカーネルモジュールが含まれており、すでに広く使われている。 lore.kernel.org/rust-for-lin…

6
23
2,773
LinuxカーネルのRustメンテナーが1人辞めました。過去には論争がきっかけでの辞任もありましたが、今回はそうではなく、すでにこの2年間ほどは活動しておらず、辞任しました。カーネル内のRustコードは順調に増加しており、現在、もっともRustのコードを実装しているのはNVIDIAの開発者たち。
プログラミングカテゴリーで、今TechFeedで人気の記事はこちら! 「Rust for Linuxカーネル共同メンテナーが正式に退任」 techfeed.io/entries/6924c2e8…
2
4
1,101
GoBGP 4.0 has been released! This major update brings many improvements. Special thanks to the engineers at Cisco for their great contributions to this release. github.com/osrg/gobgp/releas…
GoBGP v4.0 is coming early next month. Now using Go’s new netip and slog libraries instead of net and logrus, and replacing channel-based routing table access with mutex. Major memory improvements expected.
5
17
2,119
GoBGP v4.0 is coming early next month. Now using Go’s new netip and slog libraries instead of net and logrus, and replacing channel-based routing table access with mutex. Major memory improvements expected.
GoBGP v3.37.0 will be the final release in the 3.x series. The next version will be 4.x and will introduce breaking changes, meaning it will not be backward compatible with the 3.x API. github.com/osrg/gobgp/releas…
1
4
18
5,747
LinuxカーネルのRustサポートを牽引してきた、Rust版のAndroid Binderドライバがついにマージされました。今は、C版とRust版の両方のドライバがありますが、将来的には、Rust版のドライバが標準で使われるようになるのでしょうか。
Googleは、Androidで使用されているbinderドライバをRustで書き換えることを目指しており、そのために必要な抽象化が少しずつLinuxカーネルに取り込まれている。LinuxのRustサポートの将来は分からないが、C版のbinderドライバがRust版で置き換えられると、Rustをやめるのは難しくなりそう
12
14
2,383
半年越しで、C言語を使わずに、Rustのインラインアセンブリ機能を使い、Linuxカーネルのデバッグ情報を表示するアセンブリコードを実行する機能がマージされました。CPUレジスタや関数呼び出し履歴、ソースコード位置などに関する正確な情報が表示可能に
Rustのインラインアセンブラ機能を使って、Rustとアセンブリ言語を組みあわせ、実行中のアドレスやソースコード情報などのデバッグ情報を表示するLinuxカーネルの機能を実装してみました。NTT Open Source:Rustで実装するLinuxカーネル(アセンブリ言語編) medium.com/nttlabs/rust-inli…
2
140
566
59,263
私が実装し、Linuxカーネルにマージされた初のRust製デバイスドライバを題材に使った記事がLWNに掲載されています。このイーサネットPHYのドライバは100行ほどとシンプルで、C言語版との比較を通じて、カーネルでのRust実装の初歩や両言語の違いが学べる内容 lwn.net/Articles/1025232/
129
504
38,388
ARM GPU用Rust製ドライバ「Tyr」が発表されました。Linuxカーネルの既存のCドライバの置き換えを目指し、ARM・Google・Collaboraのエンジニアが開発中。Android端末やSBCで使わているGPU。動機は明言されていませんが、過去に発生した脆弱性問題が背景かもしれません lore.kernel.org/rust-for-lin…

8
20
2,875
Rustのデバッグ情報APIに、C言語連携のため、null終端されたソースファイル名を返す関数が追加された。Linuxカーネルでの必要性のために提案されたが、一度はリジェクトされるなど、RustのC連携強化は開発者間で温度差がある印象。Linuxカーネルに限らず、C連携で使える機能 github.com/rust-lang/rust/co…
7
1,717
Linuxカーネル6.16-rc1で、新しいRust版のCPU周波数を制御する汎用CPUfreqドライバがマージされました。主にARMで使われるDevice Tree用。既存のC版ドライバとの関係が不明ですが、CPUfreqサブシステムメンテナーが実装し、あまり議論されずにマージされました。将来的にC版を置き換える?
LinuxカーネルにRustの新しいドライバがマージされました。Red Hatが開発を主導しているNVIDIA GPUのドライバで、古いハードウェアのサポートを止め、現在のCのドライバよりシンプルなものを目指している模様。名前がNVIDIAが以前に公開したOSSのドライバの通称と一緒ですが、別物です。
4
25
5,840
半年越しで、LinuxカーネルにRustのInstant / Duration相当の型がマージされました。ドライバがHW初期化待ちなどタイマー処理に利用予定。起動時間ベースや外部から設定される時間など複数のタイマーソースに対応するため、今後、Instant型はジェネリック化され、標準ライブラリとはかなり異なるものに
RustはOSカーネルや組み込みシステム向けに機能限定のcoreライブラリを提供しているが、Linuxカーネルは利用できないデータ型を置き換える独自の型をたくさん導入しています。例えば、期間を扱うDuration型は、生成時に異常な入力値でpanicしてしまうなどの問題があり、代用品を開発中
41
116
20,950