svn commit: r215111 - head/sys/kern
Kostik Belousov
kostikbel at gmail.com
Thu Nov 11 08:56:50 UTC 2010
On Thu, Nov 11, 2010 at 08:15:12AM +0000, Edward Tomasz Napierala wrote:
> Author: trasz
> Date: Thu Nov 11 08:15:12 2010
> New Revision: 215111
> URL: http://svn.freebsd.org/changeset/base/215111
>
> Log:
> Remove unneeded conditional.
The commit message is unuseful. Why the conditional is not needed ?
There are two parts of the condition. P_INMEM is irrelevant since accessed
data does not live in the kernel stack of the threads (long time gone
is user structure). The p_stats structure is allocated during struct proc
initialization and cannot be NULL after the system booted. During the
boot, proc0 have p_stats empty until initialized.
>
> Discussed with: kib
>
> Modified:
> head/sys/kern/kern_proc.c
>
> Modified: head/sys/kern/kern_proc.c
> ==============================================================================
> --- head/sys/kern/kern_proc.c Thu Nov 11 05:40:39 2010 (r215110)
> +++ head/sys/kern/kern_proc.c Thu Nov 11 08:15:12 2010 (r215111)
> @@ -778,18 +778,16 @@ fill_kinfo_proc_only(struct proc *p, str
> rufetch(p, &kp->ki_rusage);
> kp->ki_runtime = cputick2usec(p->p_rux.rux_runtime);
> PROC_SUNLOCK(p);
> - if ((p->p_flag & P_INMEM) && p->p_stats != NULL) {
> - kp->ki_start = p->p_stats->p_start;
> - timevaladd(&kp->ki_start, &boottime);
> - PROC_SLOCK(p);
> - calcru(p, &kp->ki_rusage.ru_utime, &kp->ki_rusage.ru_stime);
> - PROC_SUNLOCK(p);
> - calccru(p, &kp->ki_childutime, &kp->ki_childstime);
> -
> - /* Some callers want child-times in a single value */
> - kp->ki_childtime = kp->ki_childstime;
> - timevaladd(&kp->ki_childtime, &kp->ki_childutime);
> - }
> + kp->ki_start = p->p_stats->p_start;
> + timevaladd(&kp->ki_start, &boottime);
> + PROC_SLOCK(p);
> + calcru(p, &kp->ki_rusage.ru_utime, &kp->ki_rusage.ru_stime);
> + PROC_SUNLOCK(p);
> + calccru(p, &kp->ki_childutime, &kp->ki_childstime);
> +
> + /* Some callers want child-times in a single value */
> + kp->ki_childtime = kp->ki_childstime;
> + timevaladd(&kp->ki_childtime, &kp->ki_childutime);
> tp = NULL;
> if (p->p_pgrp) {
> kp->ki_pgid = p->p_pgrp->pg_id;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20101111/8f822ca1/attachment.pgp
More information about the svn-src-all
mailing list