*参照元 [#lf84f6d7]
#backlinks

*説明 [#v791dd9a]
-パス: [[linux-2.6.25/block/blk-core.c]]

-FIXME: これは何?
--指定したリクエストキューの plug(栓をすること)を解除する。
--blk_stop_queue で停止させたリクエストキューは unplug_device では
再開しない。blk_start_queue を使うこと。
--この関数はリクエストキューをロックし、同時にカレント CPU の
割り込みを禁止する。


**引数 [#ae66a6e6]
-struct request_queue *q
--unplug(栓を取り去ること)するリクエストキューを指定する。
--[[linux-2.6.25/request_queue]]

**返り値 [#ab857d71]
-なし

**参考 [#he0111d7]
-なし


*実装 [#e03620e8]
 /**
  * generic_unplug_device - fire a request queue
  * @q:    The &struct request_queue in question
  *
  * Description:
  *   Linux uses plugging to build bigger requests queues before letting
  *   the device have at them. If a queue is plugged, the I/O scheduler
  *   is still adding and merging requests on the queue. Once the queue
  *   gets unplugged, the request_fn defined for the queue is invoked and
  *   transfers started.
  **/
 void generic_unplug_device(struct request_queue *q)
 {
         spin_lock_irq(q->queue_lock);
-リクエストキューのスピンロックを取る。
カレント CPU の割り込みを禁止する。
--[[linux-2.6.25/spin_lock_irq()]]

         __generic_unplug_device(q);
-リクエストキューに対して unplug(栓を取り去ること)する。
--[[linux-2.6.25/__generic_unplug_device()]]

         spin_unlock_irq(q->queue_lock);
-リクエストキューのスピンロックを解放する。
カレント CPU の割り込みを許可する。
--[[linux-2.6.25/spin_unlock_irq()]]

 }
 EXPORT_SYMBOL(generic_unplug_device);
-関数をエクスポートする。
--[[linux-2.6.25/EXPORT_SYMBOL()]]


*コメント [#f1973072]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS