LeavaTailの日記

LeavaTailの日記

Linuxエンジニアを目指した技術者の備忘録

2023-01-01から1年間の記事一覧

syzkaller によるファジングテストの実施とテストのカスタマイズ

概要 はじめに 実験環境 セットアップ Linux Kernelのビルド rootfsの生成 仮想マシンで起動確認 syzkaller のビルド syzkaller の設定ファイルの準備 syzkallerの実行 カスタマイズ Syscall descriptionの追加 Pseudo Syscallの追加 おわりに 変更履歴 参考…

Linuxカーネルのファイルアクセスの処理を追いかける (19) MMC: initialization

関連記事 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 (…

I/O スケジューラの違いによるストレージの読み込み性能を比較する

概要 はじめに mq-deadline の概要 bfq の概要 kyber の概要 目的 実行環境 計測方法 スループットの計測 BIO毎のレイテンシ計測 CPU使用率の計測 準備 Linuxカーネルの再構築 必要なパッケージのインストール BPFスクリプトの修正 実験結果 スループット レ…

Linuxカーネルのファイルアクセスの処理を追いかける (18) block: blk_mq_do_dispatch_sched

関連記事 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 (…

I/O スケジューラの違いによるストレージの書き込み性能を比較する

概要 はじめに mq-deadline の概要 bfq の概要 kyber の概要 目的 実行環境 計測方法 スループットの計測 BIO毎のレイテンシ計測 CPU使用率の計測 準備 Linuxカーネルの再構築 必要なパッケージのインストール BPFスクリプトの修正 実験結果 スループット レ…

Linuxカーネルのファイルアクセスの処理を追いかける (17) block: blk_mq_run_work_fn

関連記事 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 (…

VFATファイルシステムにおけるファイル名のコード変換

概要 はじめに FATボリュームレイアウト 動作例 Codepageが対応している文字列でファイルを作成する Codepageが対応していない文字列でファイルを作成する システムとは異なるiocharsetでファイルを作成する Codepageが対応している文字列でファイルを検索す…

Linuxカーネルのファイルアクセスの処理を追いかける (16) mq-deadline: dispatch_request

関連記事 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カーネルに対して静的解析ツールSparseの実行方法

概要 はじめに 実験環境 インストール 実行方法 実験結果 おわりに 変更履歴 参考文献 概要 本記事では、Ubuntu 22.04でSparseをビルドし、Linux kernel v6.3 に実行する手順を確認した。 はじめに Linuxカーネルは、主にC言語とアセンブリ言語によって記述…

Linuxカーネルのファイルアクセスの処理を追いかける (15) mq-deadline: insert_request

関連記事 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要求の発行回数 メタデータ書き込み総量 書き込み頻度とオフセット パフォーマンス おわりに 変更履歴 参考 注意 本記事…

Linuxカーネルのファイルアクセスの処理を追いかける (14) mq-deadline

関連記事 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 (…