You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
task IO accounting: improve code readability
Put all i/o statistics in struct proc_io_accounting and use inline functions to
initialize and increment statistics, removing a lot of single variable
assignments.
This also reduces the kernel size as following (with CONFIG_TASK_XACCT=y and
CONFIG_TASK_IO_ACCOUNTING=y).
text data bss dec hex filename
11651 0 0 11651 2d83 kernel/exit.o.before
11619 0 0 11619 2d63 kernel/exit.o.after
10886 132 136 11154 2b92 kernel/fork.o.before
10758 132 136 11026 2b12 kernel/fork.o.after
3082029 807968 4818600 8708597 84e1f5 vmlinux.o.before
3081869 807968 4818600 8708437 84e155 vmlinux.o.after
Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Acked-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
605ccb73f6
commit
5995477ab7
+7
-7
@@ -94,14 +94,14 @@ void xacct_add_tsk(struct taskstats *stats, struct task_struct *p)
|
||||
stats->hiwater_vm = mm->hiwater_vm * PAGE_SIZE / KB;
|
||||
mmput(mm);
|
||||
}
|
||||
stats->read_char = p->rchar;
|
||||
stats->write_char = p->wchar;
|
||||
stats->read_syscalls = p->syscr;
|
||||
stats->write_syscalls = p->syscw;
|
||||
stats->read_char = p->ioac.chr.rchar;
|
||||
stats->write_char = p->ioac.chr.wchar;
|
||||
stats->read_syscalls = p->ioac.chr.syscr;
|
||||
stats->write_syscalls = p->ioac.chr.syscw;
|
||||
#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.blk.read_bytes;
|
||||
stats->write_bytes = p->ioac.blk.write_bytes;
|
||||
stats->cancelled_write_bytes = p->ioac.blk.cancelled_write_bytes;
|
||||
#else
|
||||
stats->read_bytes = 0;
|
||||
stats->write_bytes = 0;
|
||||
|
||||
Reference in New Issue
Block a user