Langue: en

Autres versions - même langue

Version: June 2009 (debian - 07/07/09)

Section: 9 (Appels noyau Linux)


blk_stop_queue - stop a queue


void blk_stop_queue(struct request_queue * q);



The struct request_queue in question


The Linux block layer assumes that a block driver will consume all entries on the request queue when the request_fn strategy is called. Often this will not happen, because of hardware limitations (queue depth settings). If a device driver gets a 'queue full' response, or if it simply chooses not to queue more I/O at one point, it can call this function to prevent the request_fn from being called until the driver has signalled it's ready to go again. This happens by calling blk_start_queue to restart queue operations. Queue lock must be held.