[PATCH] CONFIG_BLOCK: blk_congestion_wait() fix

Don't just do nothing: it'll cause busywaits all over writeback and page
reclaim.

For now, take a fixed-length nap.  Will improve when NFS starts waking up
throttled processes.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Andrew Morton 2006-08-31 12:56:06 +02:00 committed by Jens Axboe
parent 5e6d12b2c8
commit bcfd8d3615
1 changed files with 5 additions and 2 deletions

View File

@ -1,6 +1,7 @@
#ifndef _LINUX_BLKDEV_H
#define _LINUX_BLKDEV_H
#include <linux/sched.h>
#include <linux/major.h>
#include <linux/genhd.h>
#include <linux/list.h>
@ -848,7 +849,7 @@ void kblockd_flush(void);
static inline long blk_congestion_wait(int rw, long timeout)
{
return timeout;
return io_schedule_timeout(timeout);
}
static inline long nr_blockdev_pages(void)
@ -856,7 +857,9 @@ static inline long nr_blockdev_pages(void)
return 0;
}
static inline void exit_io_context(void) {}
static inline void exit_io_context(void)
{
}
#endif /* CONFIG_BLOCK */