From ad2b62e932b3d69bb75835f28e383f1d1be8cb23 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Thu, 27 Apr 2017 19:45:55 +0200 Subject: [PATCH 166/325] 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 d1ec1db880d4..8d67788ad75e 100644 --- a/sys/kern/kern_racct.c +++ b/sys/kern/kern_racct.c @@ -85,6 +85,11 @@ SYSCTL_UINT(_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 @@ -1223,6 +1228,9 @@ racctd(void) ASSERT_RACCT_ENABLED(); + if (racctd_delay == 0) + racctd_delay = hz; + for (;;) { racct_decay(); @@ -1302,7 +1310,7 @@ racctd(void) PROC_UNLOCK(p); } sx_sunlock(&allproc_lock); - pause("-", hz); + pause("-", racctd_delay); } } -- 2.32.0