From owner-svn-src-all@FreeBSD.ORG Fri Jul 2 15:02:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7F65106566B; Fri, 2 Jul 2010 15:02:51 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C721B8FC16; Fri, 2 Jul 2010 15:02:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o62F2pCZ026985; Fri, 2 Jul 2010 15:02:51 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o62F2p1f026980; Fri, 2 Jul 2010 15:02:51 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201007021502.o62F2p1f026980@svn.freebsd.org> From: Alan Cox Date: Fri, 2 Jul 2010 15:02:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209647 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jul 2010 15:02:51 -0000 Author: alc Date: Fri Jul 2 15:02:51 2010 New Revision: 209647 URL: http://svn.freebsd.org/changeset/base/209647 Log: With the demise of page coloring, the page queue macros no longer serve any useful purpose. Eliminate them. Reviewed by: kib Modified: head/sys/vm/vm_contig.c head/sys/vm/vm_page.c head/sys/vm/vm_page.h head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_contig.c ============================================================================== --- head/sys/vm/vm_contig.c Fri Jul 2 13:30:26 2010 (r209646) +++ head/sys/vm/vm_contig.c Fri Jul 2 15:02:51 2010 (r209647) @@ -175,7 +175,7 @@ vm_contig_launder(int queue, vm_paddr_t vm_page_unlock(m); continue; } - KASSERT(VM_PAGE_INQUEUE2(m, queue), + KASSERT(m->queue == queue, ("vm_contig_launder: page %p's queue is not %d", m, queue)); error = vm_contig_launder_page(m, &next); vm_page_lock_assert(m, MA_NOTOWNED); Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Fri Jul 2 13:30:26 2010 (r209646) +++ head/sys/vm/vm_page.c Fri Jul 2 15:02:51 2010 (r209647) @@ -592,7 +592,7 @@ vm_page_unhold(vm_page_t mem) vm_page_lock_assert(mem, MA_OWNED); --mem->hold_count; KASSERT(mem->hold_count >= 0, ("vm_page_unhold: hold count < 0!!!")); - if (mem->hold_count == 0 && VM_PAGE_INQUEUE2(mem, PQ_HOLD)) + if (mem->hold_count == 0 && mem->queue == PQ_HOLD) vm_page_free_toq(mem); } @@ -1381,10 +1381,11 @@ vm_waitpfault(void) void vm_page_requeue(vm_page_t m) { - int queue = VM_PAGE_GETQUEUE(m); struct vpgqueues *vpq; + int queue; mtx_assert(&vm_page_queue_mtx, MA_OWNED); + queue = m->queue; KASSERT(queue != PQ_NONE, ("vm_page_requeue: page %p is not queued", m)); vpq = &vm_page_queues[queue]; @@ -1422,12 +1423,12 @@ vm_page_queue_remove(int queue, vm_page_ void vm_pageq_remove(vm_page_t m) { - int queue = VM_PAGE_GETQUEUE(m); + int queue; vm_page_lock_assert(m, MA_OWNED); - if (queue != PQ_NONE) { + if ((queue = m->queue) != PQ_NONE) { vm_page_lock_queues(); - VM_PAGE_SETQUEUE2(m, PQ_NONE); + m->queue = PQ_NONE; vm_page_queue_remove(queue, m); vm_page_unlock_queues(); } @@ -1446,7 +1447,7 @@ vm_page_enqueue(int queue, vm_page_t m) struct vpgqueues *vpq; vpq = &vm_page_queues[queue]; - VM_PAGE_SETQUEUE2(m, queue); + m->queue = queue; TAILQ_INSERT_TAIL(&vpq->pl, m, pageq); ++*vpq->cnt; } @@ -1467,7 +1468,7 @@ vm_page_activate(vm_page_t m) int queue; vm_page_lock_assert(m, MA_OWNED); - if ((queue = VM_PAGE_GETKNOWNQUEUE2(m)) != PQ_ACTIVE) { + if ((queue = m->queue) != PQ_ACTIVE) { if (m->wire_count == 0 && (m->flags & PG_UNMANAGED) == 0) { if (m->act_count < ACT_INIT) m->act_count = ACT_INIT; @@ -1728,7 +1729,7 @@ _vm_page_deactivate(vm_page_t m, int ath /* * Ignore if already inactive. */ - if ((queue = VM_PAGE_GETKNOWNQUEUE2(m)) == PQ_INACTIVE) + if ((queue = m->queue) == PQ_INACTIVE) return; if (m->wire_count == 0 && (m->flags & PG_UNMANAGED) == 0) { vm_page_lock_queues(); @@ -1741,7 +1742,7 @@ _vm_page_deactivate(vm_page_t m, int ath else TAILQ_INSERT_TAIL(&vm_page_queues[PQ_INACTIVE].pl, m, pageq); - VM_PAGE_SETQUEUE2(m, PQ_INACTIVE); + m->queue = PQ_INACTIVE; cnt.v_inactive_count++; vm_page_unlock_queues(); } @@ -1954,8 +1955,7 @@ vm_page_dontneed(vm_page_t m) /* * Occasionally leave the page alone. */ - if ((dnw & 0x01F0) == 0 || - VM_PAGE_INQUEUE2(m, PQ_INACTIVE)) { + if ((dnw & 0x01F0) == 0 || m->queue == PQ_INACTIVE) { if (m->act_count >= ACT_INIT) --m->act_count; return; Modified: head/sys/vm/vm_page.h ============================================================================== --- head/sys/vm/vm_page.h Fri Jul 2 13:30:26 2010 (r209646) +++ head/sys/vm/vm_page.h Fri Jul 2 15:02:51 2010 (r209647) @@ -153,18 +153,6 @@ struct vm_page { #define PQ_HOLD 3 #define PQ_COUNT 4 -/* Returns the real queue a page is on. */ -#define VM_PAGE_GETQUEUE(m) ((m)->queue) - -/* Returns the well known queue a page is on. */ -#define VM_PAGE_GETKNOWNQUEUE2(m) VM_PAGE_GETQUEUE(m) - -/* Returns true if the page is in the named well known queue. */ -#define VM_PAGE_INQUEUE2(m, q) (VM_PAGE_GETKNOWNQUEUE2(m) == (q)) - -/* Sets the queue a page is on. */ -#define VM_PAGE_SETQUEUE2(m, q) (VM_PAGE_GETQUEUE(m) = (q)) - struct vpgqueues { struct pglist pl; int *cnt; Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Fri Jul 2 13:30:26 2010 (r209646) +++ head/sys/vm/vm_pageout.c Fri Jul 2 15:02:51 2010 (r209647) @@ -773,9 +773,8 @@ rescan0: cnt.v_pdpages++; - if (VM_PAGE_GETQUEUE(m) != PQ_INACTIVE) { + if (m->queue != PQ_INACTIVE) goto rescan0; - } next = TAILQ_NEXT(m, pageq); @@ -1025,7 +1024,7 @@ rescan0: * above. The page might have been freed and * reused for another vnode. */ - if (VM_PAGE_GETQUEUE(m) != PQ_INACTIVE || + if (m->queue != PQ_INACTIVE || m->object != object || TAILQ_NEXT(m, pageq) != &marker) { vm_page_unlock(m); @@ -1115,7 +1114,7 @@ unlock_and_continue: while ((m != NULL) && (pcount-- > 0) && (page_shortage > 0)) { - KASSERT(VM_PAGE_INQUEUE2(m, PQ_ACTIVE), + KASSERT(m->queue == PQ_ACTIVE, ("vm_pageout_scan: page %p isn't active", m)); next = TAILQ_NEXT(m, pageq); @@ -1379,7 +1378,7 @@ vm_pageout_page_stats() while ((m != NULL) && (pcount-- > 0)) { int actcount; - KASSERT(VM_PAGE_INQUEUE2(m, PQ_ACTIVE), + KASSERT(m->queue == PQ_ACTIVE, ("vm_pageout_page_stats: page %p isn't active", m)); next = TAILQ_NEXT(m, pageq);