Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jan 2018 11:01:41 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r328116 - head/sys/amd64/amd64
Message-ID:  <201801181101.w0IB1ff0040770@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Thu Jan 18 11:01:41 2018
New Revision: 328116
URL: https://svnweb.freebsd.org/changeset/base/328116

Log:
  Remove the 'last' argument from the pmap_pti_free_page().
  
  It is in fact unused.
  
  Noted and reviewed by:	markj
  Sponsored by:	The FreeBSD Foundation
  MFC after:	13 days

Modified:
  head/sys/amd64/amd64/pmap.c

Modified: head/sys/amd64/amd64/pmap.c
==============================================================================
--- head/sys/amd64/amd64/pmap.c	Thu Jan 18 10:52:31 2018	(r328115)
+++ head/sys/amd64/amd64/pmap.c	Thu Jan 18 11:01:41 2018	(r328116)
@@ -7550,17 +7550,16 @@ pmap_pti_alloc_page(void)
 }
 
 static bool
-pmap_pti_free_page(vm_page_t m, bool last)
+pmap_pti_free_page(vm_page_t m)
 {
 
+	KASSERT(m->wire_count > 0, ("page %p not wired", m));
 	m->wire_count--;
-	if (m->wire_count == 0 || last) {
-		KASSERT(m->wire_count == 0, ("page %p wired", m));
-		atomic_subtract_int(&vm_cnt.v_wire_count, 1);
-		vm_page_free_zero(m);
-		return (true);
-	}
-	return (false);
+	if (m->wire_count != 0)
+		return (false);
+	atomic_subtract_int(&vm_cnt.v_wire_count, 1);
+	vm_page_free_zero(m);
+	return (true);
 }
 
 extern char kernphys[], etext[];
@@ -7626,7 +7625,7 @@ pmap_pti_pdpe(vm_offset_t va)
 			panic("pml4 alloc after finalization\n");
 		m = pmap_pti_alloc_page();
 		if (*pml4e != 0) {
-			pmap_pti_free_page(m, true);
+			pmap_pti_free_page(m);
 			mphys = *pml4e & ~PAGE_MASK;
 		} else {
 			mphys = VM_PAGE_TO_PHYS(m);
@@ -7658,7 +7657,7 @@ pmap_pti_unwire_pde(void *pde, bool only_ref)
 	m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((uintptr_t)pde));
 	MPASS(m->wire_count > 0);
 	MPASS(only_ref || m->wire_count > 1);
-	pmap_pti_free_page(m, false);
+	pmap_pti_free_page(m);
 }
 
 static void
@@ -7670,7 +7669,7 @@ pmap_pti_unwire_pte(void *pte, vm_offset_t va)
 	VM_OBJECT_ASSERT_WLOCKED(pti_obj);
 	m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((uintptr_t)pte));
 	MPASS(m->wire_count > 0);
-	if (pmap_pti_free_page(m, false)) {
+	if (pmap_pti_free_page(m)) {
 		pde = pmap_pti_pde(va);
 		MPASS((*pde & (X86_PG_PS | X86_PG_V)) == X86_PG_V);
 		*pde = 0;
@@ -7693,7 +7692,7 @@ pmap_pti_pde(vm_offset_t va)
 	if (*pdpe == 0) {
 		m = pmap_pti_alloc_page();
 		if (*pdpe != 0) {
-			pmap_pti_free_page(m, true);
+			pmap_pti_free_page(m);
 			MPASS((*pdpe & X86_PG_PS) == 0);
 			mphys = *pdpe & ~PAGE_MASK;
 		} else {
@@ -7729,7 +7728,7 @@ pmap_pti_pte(vm_offset_t va, bool *unwire_pde)
 	if (*pde == 0) {
 		m = pmap_pti_alloc_page();
 		if (*pde != 0) {
-			pmap_pti_free_page(m, true);
+			pmap_pti_free_page(m);
 			MPASS((*pde & X86_PG_PS) == 0);
 			mphys = *pde & ~(PAGE_MASK | pg_nx);
 		} else {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801181101.w0IB1ff0040770>