カーネルタイマー add_timer のコールバックの仕組み(途中)
今回は、前者について調べてみました.
呼び出しの仕組み
カーネルタイマの基本的な呼び出しフローは、以下のようになっています.
- init_timer で構造体を初期化
- add_timer で監視リストに追加.
- 以下の3つのうち、どれかが発生.
- イベントが発生し、コールバックされる. リストから削除される.
- mod_timer が呼ばれ、再度要求を投げる.
- del_timer が呼ばれ、要求が監視リストから削除される.
個々のケースを追っていきたいと思います.
イベントが発生した場合
(途中)
タイマイベントの監視方法
タイマイベントの監視はどのように行っているのでしょうか. 従来のタイマの場合、 tick ベースで動作しますから、タイマ割り込みのタイミングでtimer_listを走査しているような気がします.
(続く)