タグ

ブックマーク / blog.ebiken.me (3)

  • How to write Linux Loadable Kernel module / char device driver. | blog.ebiken.me

    ※ 2014/12/13 追記:サンプルコードのログは printf(KERN_ …) ではなく pr_, dev_, netdev_ を使う事が推奨と指摘あり。詳しくは LOGGING IN LINUX KERNEL を参照。 ※ 2014/12/13 追記:MKDEV は miscdevice を使うともっと簡単に書けるらしい。(外部サイト:miscdeviceでlinuxデバイスドライバを作成する|キャラクタ型デバイス 3分コーディング) Linux Loadable Kernel module についての解説は沢山存在するが、古いAPIを使っていたり細かすぎて全体像がつかみにくかった。 というわけで Linux でのドライバー作成方法を理解するため、簡単なキャラクタデバイス(char device)を作ってみた。 なお、file_operations 動作確認のため、read

  • Logging in Linux Kernel | blog.ebiken.me

    printk(KERN_INFO "Entered function: %s\n", __FUNCTION__); のように Kernel module (driver) 内で printk 使ってたら、下記マクロを使うのが推奨(preferred)とフィードバック頂いたので調べてみた。 1. pr_<level> 2. dev_<level> … device 構造体がある場合 3. netdev_<level> … netdev 構造体がある場合 1. pr_<level><option> ./include/linux/printk.h に定義されている。 はエラーレベルで、以下10種類。 <level> はemerg, alert, crit, err, warning (warn), notice, info, cont, devel, debug <option> は、

  • CRIU, P.Haul and OpenVZ Live migration | ebiken blog

    P.Haul と言うコンテナのライブマイグレーションができるツールが出てきたので、CRIU や OpenVZ との関係をメモ。 そもそも CRIU って何だっけ? Checkpoint Restore In Userspace == CRIU という名の通り以下の機能を持ったツール: a. 任意のプロセスをダンプする(その時点でのスナップショット) b. リストアする(ダンプしたノード上でも、他のノード上でもOK) ※ ノード = node ≒ プロセスの動作するサーバー すなわち、CRIUは(コンテナに限らず)どんなプロセス(アプリケーション)にもつかえる Dump/Restore ツール。 P.Haul とは? CRIUは「ライブマイグレーションするツール」ではなく、あくまでも「ダンプする/リストアする」ことができるツール。 なので、実際にライブマイグレーションする際にはコマンド

    defiant
    defiant 2014/02/17
  • 1