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>
Showing
- fs/proc/base.c 16 additions, 41 deletionsfs/proc/base.c
- include/linux/sched.h 6 additions, 13 deletionsinclude/linux/sched.h
- include/linux/task_io_accounting.h 24 additions, 3 deletionsinclude/linux/task_io_accounting.h
- include/linux/task_io_accounting_ops.h 46 additions, 10 deletionsinclude/linux/task_io_accounting_ops.h
- kernel/exit.c 3 additions, 27 deletionskernel/exit.c
- kernel/fork.c 2 additions, 13 deletionskernel/fork.c
- kernel/tsacct.c 7 additions, 7 deletionskernel/tsacct.c
Loading
Please register or sign in to comment