参照元†
- unplug 用タイマーの期限が来ると呼び出される関数である。
- ブロックデバイス用のワークキューに、unplug 用の関数を
追加するだけ。
返り値†
- タイマーに登録した関数はソフトウェア割り込みの
コンテキストで実行される。
- ユーザコンテキストは存在しない。
- スリープはできない。
- カレントプロセッサのソフトウェア割り込みは禁止されている。
- ハードウェア割り込みは許可されている。
void blk_unplug_timeout(unsigned long data)
{
struct request_queue *q = (struct request_queue *)data;
blk_add_trace_pdu_int(q, BLK_TA_UNPLUG_TIMER, NULL,
q->rq.count[READ] + q->rq.count[WRITE]);
kblockd_schedule_work(&q->unplug_work);
- リクエストキューを unplug(栓を取り去る)する関数を
ワークキューにスケジュールする。
}
コメント†