- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#c3ff55cb]
#backlinks
*説明 [#u25e834b]
-パス: [[linux-2.6.25/block/blk-core.c]]
-指定した仕事をワークキューにスケジュールする。ワークキュー内の
関数はいずれカーネルスレッドが実行してくれる。
-何に使っているか?
--リクエストキューの unplug(栓を取りさること)に使う。
--ほかも?
**引数 [#l5901979]
-struct work_struct *work
--スケジュールする仕事を指定する。
--[[linux-2.6.25/work_struct]]
**返り値 [#m6d93ffd]
-int
--キューに追加しようとした仕事が既に登録済みだったときは 0 を返す。
成功すれば 1 を返す。
**参考 [#da048403]
static struct workqueue_struct *kblockd_workqueue;
-
--[[linux-2.6.25/workqueue_struct()]]
-ワークキューに登録した関数はカーネルスレッド上で実行される。
--ユーザコンテキストは存在しない。copy_to_user とかできません。
--内部でスリープ可能である。
--割り込みが許可されている。
*実装 [#r1675863]
int kblockd_schedule_work(struct work_struct *work)
{
return queue_work(kblockd_workqueue, work);
-ブロックデバイス用のワークキューに、
指定された仕事を登録する。
--[[linux-2.6.25/queue_work()]]
--kblockd_workqueue はグローバル変数
}
EXPORT_SYMBOL(kblockd_schedule_work);
-関数をエクスポートする。
--[[linux-2.6.25/EXPORT_SYMBOL()]]
*コメント [#m5297a26]
- q6u1Bw <a href="http://yjzclzraptyn.com/">yjzclzraptyn</a>, [url=http://qzodaykddudq.com/]qzodaykddudq[/url], [link=http://erkgcgbuagbh.com/]erkgcgbuagbh[/link], http://crpoplpudvzi.com/ -- [[usqzvpn]] &new{2010-03-11 (木) 02:39:00};
#comment