|
@@ -1917,10 +1917,9 @@ static struct request *get_request(request_queue_t *q, int rw, struct bio *bio,
|
|
|
* limit of requests, otherwise we could have thousands of requests
|
|
* limit of requests, otherwise we could have thousands of requests
|
|
|
* allocated with any setting of ->nr_requests
|
|
* allocated with any setting of ->nr_requests
|
|
|
*/
|
|
*/
|
|
|
- if (rl->count[rw] >= (3 * q->nr_requests / 2)) {
|
|
|
|
|
- spin_unlock_irq(q->queue_lock);
|
|
|
|
|
|
|
+ if (rl->count[rw] >= (3 * q->nr_requests / 2))
|
|
|
goto out;
|
|
goto out;
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
rl->count[rw]++;
|
|
rl->count[rw]++;
|
|
|
rl->starved[rw] = 0;
|
|
rl->starved[rw] = 0;
|
|
|
if (rl->count[rw] >= queue_congestion_on_threshold(q))
|
|
if (rl->count[rw] >= queue_congestion_on_threshold(q))
|