Module Name: src Committed By: riz Date: Sun Aug 19 17:36:42 UTC 2012
Modified Files: src/sys/kern [netbsd-6]: kern_synch.c Log Message: Pull up following revision(s) (requested by christos in ticket #513): sys/kern/kern_synch.c: revision 1.303 PR/46811: Tetsua Isaki: Don't handle cpu limits when runtime is negative. To generate a diff of this commit: cvs rdiff -u -r1.297 -r1.297.2.1 src/sys/kern/kern_synch.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/kern_synch.c diff -u src/sys/kern/kern_synch.c:1.297 src/sys/kern/kern_synch.c:1.297.2.1 --- src/sys/kern/kern_synch.c:1.297 Sat Jan 28 12:22:33 2012 +++ src/sys/kern/kern_synch.c Sun Aug 19 17:36:41 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_synch.c,v 1.297 2012/01/28 12:22:33 rmind Exp $ */ +/* $NetBSD: kern_synch.c,v 1.297.2.1 2012/08/19 17:36:41 riz Exp $ */ /*- * Copyright (c) 1999, 2000, 2004, 2006, 2007, 2008, 2009 @@ -69,7 +69,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.297 2012/01/28 12:22:33 rmind Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.297.2.1 2012/08/19 17:36:41 riz Exp $"); #include "opt_kstack.h" #include "opt_perfctrs.h" @@ -1204,6 +1204,16 @@ sched_pstats(void) /* Calculating p_pctcpu only for ps(1) */ p->p_pctcpu = (p->p_pctcpu * ccpu) >> FSHIFT; + if (__predict_false(runtm < 0)) { + if (!backwards) { + backwards = true; + printf("WARNING: negative runtime; " + "monotonic clock has gone backwards\n"); + } + mutex_exit(p->p_lock); + continue; + } + /* * Check if the process exceeds its CPU resource allocation. * If over the hard limit, kill it with SIGKILL. @@ -1227,13 +1237,7 @@ sched_pstats(void) } } mutex_exit(p->p_lock); - if (__predict_false(runtm < 0)) { - if (!backwards) { - backwards = true; - printf("WARNING: negative runtime; " - "monotonic clock has gone backwards\n"); - } - } else if (__predict_false(sig)) { + if (__predict_false(sig)) { KASSERT((p->p_flag & PK_SYSTEM) == 0); psignal(p, sig); }