Re: [PATCH] kernel/fork.c: define reset_task_cputimes()

From: Andrew Morton
Date: Thu Feb 26 2009 - 17:54:09 EST


On Thu, 26 Feb 2009 02:17:55 -0300
"Gustavo F. Padovan" <gustavo@xxxxxxxxxxxxxxxxx> wrote:

> Group all vars that receive cputime_zero in the same static function.
> This also cleans the code.
>
> Signed-off-by: Gustavo F. Padovan <gustavo@xxxxxxxxxxxxxxxxx>
> ---
> include/linux/sched.h | 11 +++++++++++
> kernel/fork.c | 8 +-------
> 2 files changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 8981e52..1a64587 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -1595,6 +1595,17 @@ extern cputime_t task_utime(struct task_struct *p);
> extern cputime_t task_stime(struct task_struct *p);
> extern cputime_t task_gtime(struct task_struct *p);
>
> +static inline void reset_task_cputimes(struct task_struct *t)
> +{
> + t->utime = cputime_zero;
> + t->stime = cputime_zero;
> + t->gtime = cputime_zero;
> + t->utimescaled = cputime_zero;
> + t->stimescaled = cputime_zero;
> + t->prev_utime = cputime_zero;
> + t->prev_stime = cputime_zero;
> +}
> +
> /*
> * Per process flags
> */
> diff --git a/kernel/fork.c b/kernel/fork.c
> index a66fbde..9856abe 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -1031,13 +1031,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
> clear_tsk_thread_flag(p, TIF_SIGPENDING);
> init_sigpending(&p->pending);
>
> - p->utime = cputime_zero;
> - p->stime = cputime_zero;
> - p->gtime = cputime_zero;
> - p->utimescaled = cputime_zero;
> - p->stimescaled = cputime_zero;
> - p->prev_utime = cputime_zero;
> - p->prev_stime = cputime_zero;
> + reset_task_cputimes(p);
>
> p->default_timer_slack_ns = current->timer_slack_ns;
>

I cannot see much point in doing this, unless you have some other patch
which adds a second caller of reset_task_cputimes()?


--
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/