|
@@ -78,6 +78,7 @@ void bacct_add_tsk(struct taskstats *stats, struct task_struct *tsk)
|
|
|
|
|
|
#define KB 1024
|
|
#define KB 1024
|
|
#define MB (1024*KB)
|
|
#define MB (1024*KB)
|
|
|
|
+#define KB_MASK (~(KB-1))
|
|
/*
|
|
/*
|
|
* fill in extended accounting fields
|
|
* fill in extended accounting fields
|
|
*/
|
|
*/
|
|
@@ -95,14 +96,14 @@ void xacct_add_tsk(struct taskstats *stats, struct task_struct *p)
|
|
stats->hiwater_vm = get_mm_hiwater_vm(mm) * PAGE_SIZE / KB;
|
|
stats->hiwater_vm = get_mm_hiwater_vm(mm) * PAGE_SIZE / KB;
|
|
mmput(mm);
|
|
mmput(mm);
|
|
}
|
|
}
|
|
- stats->read_char = p->ioac.rchar;
|
|
|
|
- stats->write_char = p->ioac.wchar;
|
|
|
|
- stats->read_syscalls = p->ioac.syscr;
|
|
|
|
- stats->write_syscalls = p->ioac.syscw;
|
|
|
|
|
|
+ stats->read_char = p->ioac.rchar & KB_MASK;
|
|
|
|
+ stats->write_char = p->ioac.wchar & KB_MASK;
|
|
|
|
+ stats->read_syscalls = p->ioac.syscr & KB_MASK;
|
|
|
|
+ stats->write_syscalls = p->ioac.syscw & KB_MASK;
|
|
#ifdef CONFIG_TASK_IO_ACCOUNTING
|
|
#ifdef CONFIG_TASK_IO_ACCOUNTING
|
|
- stats->read_bytes = p->ioac.read_bytes;
|
|
|
|
- stats->write_bytes = p->ioac.write_bytes;
|
|
|
|
- stats->cancelled_write_bytes = p->ioac.cancelled_write_bytes;
|
|
|
|
|
|
+ stats->read_bytes = p->ioac.read_bytes & KB_MASK;
|
|
|
|
+ stats->write_bytes = p->ioac.write_bytes & KB_MASK;
|
|
|
|
+ stats->cancelled_write_bytes = p->ioac.cancelled_write_bytes & KB_MASK;
|
|
#else
|
|
#else
|
|
stats->read_bytes = 0;
|
|
stats->read_bytes = 0;
|
|
stats->write_bytes = 0;
|
|
stats->write_bytes = 0;
|