diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 17:50:36 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 17:50:36 -0800 |
| commit | e73dff56fdff565457c7788712e9042771bec106 (patch) | |
| tree | f7d4619ec8692ef21fb9ff34c20568ab56c67c4f /include/linux/blkdev.h | |
| parent | 950a2b0b551d258daad060b9566910ca351d176a (diff) | |
v2.4.0.5 -> v2.4.0.6
- blk-14 from Jens Axboe
Diffstat (limited to 'include/linux/blkdev.h')
| -rw-r--r-- | include/linux/blkdev.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 0ea8f7064ba7..01cd38a8368e 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -64,9 +64,10 @@ typedef void (plug_device_fn) (request_queue_t *q, kdev_t device); typedef void (unplug_device_fn) (void *q); /* - * Default nr free requests per queue + * Default nr free requests per queue, ll_rw_blk will scale it down + * according to available RAM at init time */ -#define QUEUE_NR_REQUESTS 512 +#define QUEUE_NR_REQUESTS 8192 struct request_queue { @@ -176,6 +177,8 @@ extern int * max_sectors[MAX_BLKDEV]; extern int * max_segments[MAX_BLKDEV]; +extern atomic_t queued_sectors; + #define MAX_SEGMENTS 128 #define MAX_SECTORS (MAX_SEGMENTS*8) @@ -203,5 +206,14 @@ static inline int get_hardsect_size(kdev_t dev) return 512; } +#define blk_finished_io(nsects) \ + atomic_sub(nsects, &queued_sectors); \ + if (atomic_read(&queued_sectors) < 0) { \ + printk("block: queued_sectors < 0\n"); \ + atomic_set(&queued_sectors, 0); \ + } + +#define blk_started_io(nsects) \ + atomic_add(nsects, &queued_sectors); #endif |
