socsvn commit: r239871 - soc2012/rudot/sys/kern
rudot at FreeBSD.org
rudot at FreeBSD.org
Sat Jul 28 19:11:21 UTC 2012
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) {
More information about the svn-soc-all
mailing list