- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#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]
#comment