diff options
author | Mateusz Guzik <mjg@FreeBSD.org> | 2015-07-13 22:52:11 +0000 |
---|---|---|
committer | Mateusz Guzik <mjg@FreeBSD.org> | 2015-07-13 22:52:11 +0000 |
commit | e94e50af1dbefd1fb72e048d37c020d781a2615a (patch) | |
tree | 5e613a9c889b69f4e4a6226a565ecf248e24f7c9 /sys/kern/subr_trap.c | |
parent | d4f3ad3a268f88d6cfe599d05edfe521a3fd6935 (diff) | |
download | src-e94e50af1dbefd1fb72e048d37c020d781a2615a.tar.gz src-e94e50af1dbefd1fb72e048d37c020d781a2615a.zip |
racct: perform a lockless check for p_throttled
This reduces proc lock contention.
Reviewed by: trasz
Notes
Notes:
svn path=/head/; revision=285511
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r-- | sys/kern/subr_trap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index 375bb321485d..a3714563ccac 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -172,7 +172,7 @@ userret(struct thread *td, struct trapframe *frame) (td->td_vnet_lpush != NULL) ? td->td_vnet_lpush : "N/A")); #endif #ifdef RACCT - if (racct_enable) { + if (racct_enable && p->p_throttled == 1) { PROC_LOCK(p); while (p->p_throttled == 1) msleep(p->p_racct, &p->p_mtx, 0, "racct", 0); |