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>