From db6f8b287cf9db745fc02bc018b592339c9fc9b1 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Thu, 27 Apr 2017 19:45:55 +0200 Subject: [PATCH 152/310] kern_racct: Add sysctl to modify the delay between resource limit checks etc. Obtained from: ElectroBSD --- sys/kern/kern_racct.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_racct.c b/sys/kern/kern_racct.c index 94624e88af51..dc77be97d22e 100644 --- a/sys/kern/kern_racct.c +++ b/sys/kern/kern_racct.c @@ -84,6 +84,11 @@ SYSCTL_BOOL(_kern_racct, OID_AUTO, enable, CTLFLAG_RDTUN, &racct_enable, SYSCTL_UINT(_kern_racct, OID_AUTO, pcpu_threshold, CTLFLAG_RW, &pcpu_threshold, 0, "Processes with higher %cpu usage than this value can be throttled."); +static unsigned int racctd_delay = 0; +SYSCTL_UINT(_kern_racct, OID_AUTO, racctd_delay, CTLFLAG_RWTUN, + &racctd_delay, 0, "Number of ticks to pause between resource " + "usage/limit updates."); + /* * How many seconds it takes to use the scheduler %cpu calculations. When a * process starts, we compute its %cpu usage by dividing its runtime by the @@ -1252,6 +1257,9 @@ racctd(void) ASSERT_RACCT_ENABLED(); + if (racctd_delay == 0) + racctd_delay = hz; + for (;;) { racct_decay(); @@ -1327,7 +1335,7 @@ racctd(void) PROC_UNLOCK(p); } sx_sunlock(&allproc_lock); - pause("-", hz); + pause("-", racctd_delay); } } -- 2.37.1