aboutsummaryrefslogtreecommitdiffstats
path: root/block/ll_rw_blk.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2006-12-10 05:19:35 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-10 12:55:41 -0500
commitfaccbd4b26df7bd977cee33d4145155d0ef95c87 (patch)
treeea7a472bd00ada4c5391cfd18e5518ac7c180327 /block/ll_rw_blk.c
parente08748ce01e02f0ec154b141f392ccb9555333f4 (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.c7
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];