From owner-FreeBSD-tech-jp@jp.freebsd.org  Sat Feb 13 03:42:42 1999
Received: by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) id DAA28457;
	Sat, 13 Feb 1999 03:42:42 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from tasogare.imasy.or.jp (root@tasogare.imasy.or.jp [202.227.24.5])
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) with ESMTP id DAA28419;
	Sat, 13 Feb 1999 03:42:15 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from localhost (ppp7.imasy.or.jp [202.227.24.17])
	by tasogare.imasy.or.jp (8.9.3+3.1W/3.7W-tasogare) with ESMTP id DAA27830;
	Sat, 13 Feb 1999 03:42:13 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Message-Id: <199902121842.DAA27830@tasogare.imasy.or.jp>
To: FreeBSD-users-jp@jp.freebsd.org
Cc: FreeBSD-tech-jp@jp.freebsd.org
In-Reply-To: Your message of "Sat, 13 Feb 1999 02:15:58 +0900"
	<199902121718.CAA15050@tasogare.imasy.or.jp>
References: <199902121718.CAA15050@tasogare.imasy.or.jp>
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Sat, 13 Feb 1999 03:39:38 +0900
From: Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
X-Dispatcher: imput version 980905(IM100)
Lines: 50
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+981115
X-Sequence: FreeBSD-tech-jp 2007
Subject: [FreeBSD-tech-jp 2007] Re: [FreeBSD-users-jp 38664] Re: Cputime limit exceeded
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org
X-Originator: iwasaki@jp.freebsd.org

$BDI2C>pJs$G$9!#(B

>         microuptime(&switchtime);
>         p->p_runtime += (switchtime.tv_usec - p->p_switchtime.tv_usec) +
>             (switchtime.tv_sec - p->p_switchtime.tv_sec) * (int64_t)1000000;
> 
> $B$3$3$G(B p_runtime $B$KIi$NCM$,BeF~$5$l(B ($B<B:]$O(B u_int64_t $B$J$N$G$H$C$F$bBg$-$JCM(B)$B!"(B

$B$\$/$N2>@b(B ($BLQA[(B?) $B$r8!>Z$9$k$?$a!"$3$ND>8e$K(B
printf("mi_switch:%d(%s) p_runtime = %ld\n", p->p_pid, p->p_comm, (long)p->p_runtime);
$B$rF~$l$F(B suspend/resume $B8e$KE,Ev$J%3%^%s%I(B (sysctl -a) $B$r<B9T$7$F$_$^$7$?!#(B

$B0l2sL\(B:
Feb 13 03:01:17 localhost /kernel: mi_switch:272(sysctl) p_runtime = 1415
Feb 13 03:01:17 localhost /kernel: mi_switch:272(sysctl) p_runtime = 4168
Feb 13 03:01:17 localhost /kernel: mi_switch:272(sysctl) p_runtime = 62740
Feb 13 03:01:17 localhost /kernel: mi_switch:272(sysctl) p_runtime = 26570
Feb 13 03:01:17 localhost /kernel: mi_switch:272(sysctl) p_runtime = 45162
$B@.8y$7$^$7$?$,!"ESCf$G(B p_runtime $B$,8:>/$7$F$$$k$H$3$m$,$"$j$^$9!#(B
$B$9$+$5$:!"F1$8%3%^%s%I$r:F<B9T$7$^$7$?!#(B

$BFs2sL\(B:
Feb 13 03:01:17 localhost /kernel: mi_switch:273(sysctl) p_runtime = 1378
Feb 13 03:01:17 localhost /kernel: mi_switch:273(sysctl) p_runtime = 17968
Feb 13 03:01:17 localhost /kernel: mi_switch:273(sysctl) p_runtime = 33517
Feb 13 03:01:17 localhost /kernel: mi_switch:273(sysctl) p_runtime = -4810
Feb 13 03:01:17 localhost /kernel: calcru: negative time of -4301 usec for pid 273 (sysctl)

$B$3$ND>8e$K(B sysctl $B$O(B Cputime limit exceeded $B$G(B kill $B$5$l$F$$$^$9!#(B

p_runtime $B$r99?7$9$k8D=j$OB>$K8+Ev$?$i$J$$$?$a!"$3$NJU$j$,$H$C$F$b2x$7$$$G$9!#(B
$B$&$A$N>l9g$O(B resume $B8e$K5sF0$,$*$+$7$/$J$k$s$G$9$,!"CY$a$N(B CPU $B$G(B
$BIi2Y$N9b$$=hM}$r$5$;$?;~$G$b5/$j$&$k8=>]$J$N$+$b$7$l$^$;$s!#(B

$B<XB-$G$9$,!":G6a$N(B kern_synch.c $B$G$O(B
@@ -650,7 +805,8 @@
         * Check if the process exceeds its cpu resource allocation.
         * If over max, kill it.
         */
-       if (p->p_stat != SZOMB && p->p_runtime > p->p_limit->p_cpulimit) {
+       if (p->p_stat != SZOMB && p->p_limit->p_cpulimit != RLIM_INFINITY &&
+           p->p_runtime > p->p_limit->p_cpulimit) {
                rlim = &p->p_rlimit[RLIMIT_CPU];
                if (p->p_runtime / (rlim_t)1000000 >= rlim->rlim_max) {
                        killproc(p, "exceeded maximum CPU limit");

$B$H$$$&6l$7$^$.$l$N=$@5$,$J$5$l$F$$$^$9$,!"FMA3(B p_runtime $B$,8:>/$7$F(B
$BIi$NCM$H$J$kIT6q9g$O:,K\E*$K2r7h$5$l$F$$$J$$$h$&$K8+$($^$9!#(B

# $B$=$m$=$m>\$7$$?M$K%P%H%s%?%C%A$7$h$&$C$H(B (^^;
