summaryrefslogtreecommitdiff
path: root/sys/vm/vm_zeroidle.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2002-07-19 21:06:01 +0000
committerPeter Wemm <peter@FreeBSD.org>2002-07-19 21:06:01 +0000
commit16e12eab5a574953c9560605fb74db11693b2cd6 (patch)
tree64c0bb823f585b24137a6d7d841d7864c4f74c27 /sys/vm/vm_zeroidle.c
parent4aca0b15109b56b96defb98e3e5c935b1bd53267 (diff)
Notes
Diffstat (limited to 'sys/vm/vm_zeroidle.c')
-rw-r--r--sys/vm/vm_zeroidle.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/vm/vm_zeroidle.c b/sys/vm/vm_zeroidle.c
index 46db4e7901d7..a239cfa90374 100644
--- a/sys/vm/vm_zeroidle.c
+++ b/sys/vm/vm_zeroidle.c
@@ -107,17 +107,23 @@ vm_page_zero_idle_wakeup(void)
static void
vm_pagezero(void)
{
- struct thread *td = curthread;
+ struct thread *td;
+ struct proc *p;
struct rtprio rtp;
int pages = 0;
int pri;
+ td = curthread;
+ p = td->td_proc;
rtp.prio = RTP_PRIO_MAX;
rtp.type = RTP_PRIO_IDLE;
mtx_lock_spin(&sched_lock);
rtp_to_pri(&rtp, td->td_ksegrp);
pri = td->td_priority;
mtx_unlock_spin(&sched_lock);
+ PROC_LOCK(p);
+ p->p_flag |= P_NOLOAD;
+ PROC_UNLOCK(p);
for (;;) {
if (vm_page_zero_check()) {