From owner-p4-projects Fri Jul 12 13:31: 7 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35C2437B401; Fri, 12 Jul 2002 13:31:00 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D1BBB37B400 for ; Fri, 12 Jul 2002 13:30:59 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9084A43E4A for ; Fri, 12 Jul 2002 13:30:59 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from freefall.freebsd.org (perforce@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g6CKUxJU098296 for ; Fri, 12 Jul 2002 13:30:59 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g6CKUxB2098293 for perforce@freebsd.org; Fri, 12 Jul 2002 13:30:59 -0700 (PDT) Date: Fri, 12 Jul 2002 13:30:59 -0700 (PDT) Message-Id: <200207122030.g6CKUxB2098293@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm Subject: PERFORCE change 14157 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=14157 Change 14157 by peter@peter_xeon on 2002/07/12 13:30:38 set P_NOLOAD so that we do not skew the loadav calculation. This isn't real load. Alan says we theoretically do not need Giant since the free page queue is fully locked down now. Lets find out. :-) Affected files ... .. //depot/projects/pmap/sys/vm/vm_zeroidle.c#5 edit Differences ... ==== //depot/projects/pmap/sys/vm/vm_zeroidle.c#5 (text+ko) ==== @@ -74,7 +74,6 @@ static int free_rover; vm_page_t m; - mtx_lock(&Giant); mtx_lock_spin(&vm_page_queue_free_mtx); zero_state = 0; m = vm_pageq_find(PQ_FREE, free_rover, FALSE); @@ -83,9 +82,7 @@ TAILQ_REMOVE(&vm_page_queues[m->queue].pl, m, pageq); m->queue = PQ_NONE; mtx_unlock_spin(&vm_page_queue_free_mtx); - mtx_unlock(&Giant); pmap_zero_page_idle(m); - mtx_lock(&Giant); mtx_lock_spin(&vm_page_queue_free_mtx); vm_page_flag_set(m, PG_ZERO); m->queue = PQ_FREE + m->pc; @@ -99,7 +96,6 @@ } free_rover = (free_rover + PQ_PRIME2) & PQ_L2_MASK; mtx_unlock_spin(&vm_page_queue_free_mtx); - mtx_unlock(&Giant); return 1; } @@ -127,6 +123,9 @@ rtp_to_pri(&rtp, td->td_ksegrp); pri = td->td_priority; mtx_unlock_spin(&sched_lock); + PROC_LOCK(td->td_proc); + td->td_proc->p_flag |= P_NOLOAD; + PROC_UNLOCK(td->td_proc); for (;;) { if (vm_page_zero_check()) { To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message