Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jul 2012 19:11:19 +0000
From:      rudot@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r239871 - soc2012/rudot/sys/kern
Message-ID:  <20120728191119.0BA28106566B@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rudot
Date: Sat Jul 28 19:11:18 2012
New Revision: 239871
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=239871

Log:
  small improvments

Modified:
  soc2012/rudot/sys/kern/kern_racct.c

Modified: soc2012/rudot/sys/kern/kern_racct.c
==============================================================================
--- soc2012/rudot/sys/kern/kern_racct.c	Sat Jul 28 19:02:55 2012	(r239870)
+++ soc2012/rudot/sys/kern/kern_racct.c	Sat Jul 28 19:11:18 2012	(r239871)
@@ -66,6 +66,8 @@
 
 FEATURE(racct, "Resource Accounting");
 
+#define	RACCT_PCTCPU_IGNORE	1
+
 struct mtx racct_lock;
 MTX_SYSINIT(racct_lock, &racct_lock, "racct lock", MTX_DEF);
 
@@ -928,6 +930,13 @@
 	PROC_LOCK_ASSERT(p, MA_OWNED);
 	mtx_assert(&racct_lock, MA_OWNED);
 
+	/*
+	 * Do not block kernel processes. Also do not block processes with
+	 * low %cpu utilization to improve interactivity.
+	 */
+	if (((p->p_flag & (P_SYSTEM | P_KTHREAD)) != 0) ||
+	    (p->p_racct->r_resources[RACCT_PCTCPU] <= RACCT_PCTCPU_IGNORE))
+		return;
 	p->p_racct->r_pflags |= R_PCPUEXCEEDED;
 
 	FOREACH_THREAD_IN_PROC(p, td) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120728191119.0BA28106566B>