diff options
author | Andrew Morton <akpm@osdl.org> | 2006-12-10 05:19:35 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-10 12:55:41 -0500 |
commit | faccbd4b26df7bd977cee33d4145155d0ef95c87 (patch) | |
tree | ea7a472bd00ada4c5391cfd18e5518ac7c180327 /block/ll_rw_blk.c | |
parent | e08748ce01e02f0ec154b141f392ccb9555333f4 (diff) |
[PATCH] io-accounting: read accounting
Wire up read accounting for block devices, within submit_bio().
Cc: Jay Lan <jlan@sgi.com>
Cc: Shailabh Nagar <nagar@watson.ibm.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Chris Sturtivant <csturtiv@sgi.com>
Cc: Tony Ernst <tee@sgi.com>
Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
Cc: David Wright <daw@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'block/ll_rw_blk.c')
-rw-r--r-- | block/ll_rw_blk.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 4f83fd922377..785e61c9a810 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/slab.h> | 25 | #include <linux/slab.h> |
26 | #include <linux/swap.h> | 26 | #include <linux/swap.h> |
27 | #include <linux/writeback.h> | 27 | #include <linux/writeback.h> |
28 | #include <linux/task_io_accounting_ops.h> | ||
28 | #include <linux/interrupt.h> | 29 | #include <linux/interrupt.h> |
29 | #include <linux/cpu.h> | 30 | #include <linux/cpu.h> |
30 | #include <linux/blktrace_api.h> | 31 | #include <linux/blktrace_api.h> |
@@ -3235,10 +3236,12 @@ void submit_bio(int rw, struct bio *bio) | |||
3235 | BIO_BUG_ON(!bio->bi_size); | 3236 | BIO_BUG_ON(!bio->bi_size); |
3236 | BIO_BUG_ON(!bio->bi_io_vec); | 3237 | BIO_BUG_ON(!bio->bi_io_vec); |
3237 | bio->bi_rw |= rw; | 3238 | bio->bi_rw |= rw; |
3238 | if (rw & WRITE) | 3239 | if (rw & WRITE) { |
3239 | count_vm_events(PGPGOUT, count); | 3240 | count_vm_events(PGPGOUT, count); |
3240 | else | 3241 | } else { |
3242 | task_io_account_read(bio->bi_size); | ||
3241 | count_vm_events(PGPGIN, count); | 3243 | count_vm_events(PGPGIN, count); |
3244 | } | ||
3242 | 3245 | ||
3243 | if (unlikely(block_dump)) { | 3246 | if (unlikely(block_dump)) { |
3244 | char b[BDEVNAME_SIZE]; | 3247 | char b[BDEVNAME_SIZE]; |