背景 目的 実行環境 シングルドライブでの実験 暗号化 圧縮 マルチドライブでの実験 ストライピング レプリケーション キャッシュ 変更履歴 参考文献 背景 Bcachefs は LInuxカーネル 6.7 からサポートされた Copy-On-Write (CoW) のファイルシステムである…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 背景 目的 実行環境 実験 未使用領域が十分に確保できる状態での書き込み 未使用領域が十分に確保できない状態での書き込み 変更履歴 参考文献 概要 本稿では、Raspberry Pi 4 上で KIOXIA社の16GB SDメモリカードに書き込みを続けたときの状態を確認し…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 背景 目的 実行環境 RAWデバイスのパフォーマンスをベンチマークする I/O サイズを 1 MB でシーケンシャルな書き込み I/O サイズを 1 MB でシーケンシャルな読み込み I/O サイズを 4 KB でランダムな書き込み I/O サイズを 4 KB でランダムな読み込み v…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 実験環境 セットアップ Linux Kernelのビルド rootfsの生成 仮想マシンで起動確認 syzkaller のビルド syzkaller の設定ファイルの準備 syzkallerの実行 カスタマイズ Syscall descriptionの追加 Pseudo Syscallの追加 おわりに 変更履歴 参考…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに mq-deadline の概要 bfq の概要 kyber の概要 目的 実行環境 計測方法 スループットの計測 BIO毎のレイテンシ計測 CPU使用率の計測 準備 Linuxカーネルの再構築 必要なパッケージのインストール BPFスクリプトの修正 実験結果 スループット レ…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに mq-deadline の概要 bfq の概要 kyber の概要 目的 実行環境 計測方法 スループットの計測 BIO毎のレイテンシ計測 CPU使用率の計測 準備 Linuxカーネルの再構築 必要なパッケージのインストール BPFスクリプトの修正 実験結果 スループット レ…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに FATボリュームレイアウト 動作例 Codepageが対応している文字列でファイルを作成する Codepageが対応していない文字列でファイルを作成する システムとは異なるiocharsetでファイルを作成する Codepageが対応している文字列でファイルを検索す…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 実験環境 インストール 実行方法 実験結果 おわりに 変更履歴 参考文献 概要 本記事では、Ubuntu 22.04でSparseをビルドし、Linux kernel v6.3 に実行する手順を確認した。 はじめに Linuxカーネルは、主にC言語とアセンブリ言語によって記述…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 目的 実行環境 計測方法 準備 Linuxカーネルの再構築 必要なパッケージのインストール BPFスクリプトの修正 実験結果 IO要求の発行回数 メタデータ書き込み総量 書き込み頻度とオフセット パフォーマンス おわりに 変更履歴 参考 注意 本記事…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 実験環境 aarch64(virt) のNFSroot実行環境を構築する xfstestsのビルドに向けてのセットアップ Buildrootのパッケージビルド設定を新規に追加する Buildrootの設定をアップデートする xfstestsのテスト実行に向けてのセットアップ xfstestsの…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 実験環境 Phoronix Test Suite のインストール ベンチマークテストのセットアップ テスト実行 おわりに 変更履歴 参考文献 概要 dockerコンテナでPhoronix Test Suite のDiskベンチマークを実施した。 本記事のベンチマーク結果については、Op…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 実験環境 準備 コンフィグファイルの生成 カーネルのビルド テスト実行 おわりに 変更履歴 参考文献 概要 本記事では、kunit_toolを使用して、既存のKUnitテストをQEMU(armアーキテクチャ)で実行する手順について確認する。 はじめに KUnitは…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 実験環境 使用方法 kcovによるコードカバレッジの確認 syzkallerによるコードカバレッジの確認 Go実行環境のインストール buildrootによるrootfsの生成 Linux Kernelのビルド rootfsのカスタマイズ syzkallerのビルド syzkallerを実行する お…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 実験環境 準備 Qemu/kvmのインストール 使用するファイルのダウンロード 仮想マシン用のLinuxカーネルの準備 xfstests-bldのセットアップ xfstests-bldのインストール xfstests-bldの実行 スモークテストの実行 シェルの起動 実施するテストの…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…
概要 はじめに 環境 VSCode のインストール Remote Development のインストール リモートマシンに公開鍵を追加する リモートマシンのVSCodeに拡張機能をインストールする インテリセンスを設定する VSCode でソースコードを確認する 関数定義を参照する 関数…
関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…