From owner-p4-projects@FreeBSD.ORG Sun Jan 29 06:52:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6585316A4AC; Sun, 29 Jan 2006 06:52:48 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 28A1816A435 for ; Sun, 29 Jan 2006 06:52:48 +0000 (GMT) (envelope-from alc@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C9C6143D45 for ; Sun, 29 Jan 2006 06:52:47 +0000 (GMT) (envelope-from alc@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k0T6qloA030541 for ; Sun, 29 Jan 2006 06:52:47 GMT (envelope-from alc@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k0T6qll7030538 for perforce@freebsd.org; Sun, 29 Jan 2006 06:52:47 GMT (envelope-from alc@freebsd.org) Date: Sun, 29 Jan 2006 06:52:47 GMT Message-Id: <200601290652.k0T6qll7030538@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to alc@freebsd.org using -f From: Alan Cox To: Perforce Change Reviews Cc: Subject: PERFORCE change 90605 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2006 06:52:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=90605 Change 90605 by alc@alc_home on 2006/01/29 06:52:39 Parameterize the base queue used by buddy_insert(). Affected files ... .. //depot/projects/superpages/src/sys/vm/vm_buddy.c#6 edit Differences ... ==== //depot/projects/superpages/src/sys/vm/vm_buddy.c#6 (text+ko) ==== @@ -106,15 +106,15 @@ * */ static __inline void -buddy_insert(int q, vm_page_t m) +buddy_insert(int baseq, int q, vm_page_t m) { KASSERT(m->queue == PQ_NONE, ("vm_page_buddy_insert: page %p has unexpected queue %d", m, m->queue)); m->buddyq = q; - m->queue = PQ_BUDDY + q; - if (m->flags & PG_ZERO) + m->queue = baseq + q; + if (baseq == PQ_CACHE || (m->flags & PG_ZERO) != 0) TAILQ_INSERT_TAIL(&vm_page_queues[m->queue].pl, m, pageq); else TAILQ_INSERT_HEAD(&vm_page_queues[m->queue].pl, m, pageq); @@ -148,7 +148,7 @@ (1 << (PAGE_SHIFT + q)), ("vm_page_buddy_split: page %p is not page %p's %d buddy", m_buddy, m, q)); - buddy_insert(q, m_buddy); + buddy_insert(PQ_BUDDY, q, m_buddy); } } @@ -249,7 +249,7 @@ pa &= ~((1 << (PAGE_SHIFT + q)) - 1); m = PHYS_TO_VM_PAGE(pa); } - buddy_insert(q, m); + buddy_insert(PQ_BUDDY, q, m); } /* @@ -288,7 +288,7 @@ other = buddy; buddy = phys_to_vm_page(half); } - buddy_insert(q, other); + buddy_insert(PQ_CACHE, q, other); } cnt.v_cache_count--; KASSERT(buddy == m, ("yyy"));