Re: [patch 1/4] taskstats: Introduce "struct cdata"

From: Oleg Nesterov
Date: Thu Nov 25 2010 - 09:31:29 EST


On 11/19, Michael Holzheu wrote:
>
> From: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
>
> This patch introduces a new structure "struct cdata" that is used to
> store cumulative resource counters for dead child processes and threads.
>
> Note that there is one asymmetry:
> For "struct task_io_accounting" (ioc) there is no extra accounting field for
> dead threads. One field is used for both, dead processes and threads.
>
> This patch introduces no functional change.
>
> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
> ---
> fs/binfmt_elf.c | 4 +-
> fs/exec.c | 2 -
> fs/proc/array.c | 16 ++++----
> include/linux/sched.h | 22 +++++++----
> kernel/exit.c | 86 ++++++++++++++++++++++++----------------------
> kernel/posix-cpu-timers.c | 12 +++---
> kernel/sys.c | 44 ++++++++++++-----------
> 7 files changed, 100 insertions(+), 86 deletions(-)

Looks good. In fact, to me it looks like a cleanup.

But. You seem to forgot to change kernel/signal.c, no?

And cosmetic nit,

> void thread_group_cputime(struct task_struct *tsk, struct task_cputime *times)
> {
> - struct signal_struct *sig = tsk->signal;
> + struct cdata *tcd = &tsk->signal->cdata_threads;
> struct task_struct *t;
>
> - times->utime = sig->utime;
> - times->stime = sig->stime;
> - times->sum_exec_runtime = sig->sum_sched_runtime;
> + times->utime = tcd->utime;
> + times->stime = tcd->stime;
> + times->sum_exec_runtime = tsk->signal->sum_sched_runtime;

Feel free to ignore, but I don't understand why you removed "sig".
Afaics,

- times->utime = sig->utime;
- times->stime = sig->stime;
+ times->utime = sig->cdata_threads->utime;
+ times->stime = sig->cdata_threads->stime;

looks a bit better.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/